控制台应用程序的设计模式或架构帮助

时间:2015-09-16 18:50:27

标签: c#-4.0 design-patterns soap-client n-tier-architecture

我正在处理以下内容的应用程序。

  1. 将excel文件和批量转储中的记录导入sql server数据库。

  2. 然后我运行存储过程来执行一些数据库级别检查。

  3. 然后我抓取记录并使用SOAP api注入第三方。

  4. 我保留每个步骤的所有日志并保存到数据库。

  5. 我把东西分成3个不同的类。

    1. excel import - 验证excel表,验证数据,sql批量插入数据库。

    2. CodeInjectionPros.cs - 这是处理按摩数据库并准备需要转到SoapApi的记录的类。并且在同一类中对插入soap api的每条记录的mydb进行注入和更新状态。

    3. Loggger.cs - 当我启动excel导入时 - 我创建了这个类的对象。在我需要的每一步开始添加线。当整个过程结束。我的意思是保存到soap api完成,然后我打电话给数据库以保存所有细节

    4. 我需要确定最佳做法。有帮助吗?如果我还需要发布代码,请告诉我?

      enter image description here

1 个答案:

答案 0 :(得分:3)

您可以查看Multi layered architecture。您的应用程序似乎可以使用最常见的层:

  • 表示层(a.k.a. UI层:今天它
      

    控制台应用,

但将来你可以添加网页,Win表格等。)

  • 应用层(a.k.a.服务层:适合您的地方)
      

    SOAP API

服务)

  • 业务层(a.k.a.业务逻辑层:
      

    Excel导入和验证

在你的情况下)

  • 数据访问层(a.k.a.
      

    SQL

支持业务层所需的持久层,网络和日志记录服务。)

一旦您熟悉了架构,就可以设计较低级别。

在您的表示层,您可以决定为您的交互模型使用单独的表示模式(一种分层设计样式),例如Model-View-Controller

对于bisiness等级,您可以使用应用Facade或其他relevant patterns.

在数据访问层中,Data mapper pattern非常合适,因为它为您提供了对象和数据库结构之间的层,用于将数据从一个结构移动到另一个结构,同时保持它们独立。其他相关patterns来看待。