【问题标题】:Design Pattern or Architecture help for console app控制台应用程序的设计模式或架构帮助
【发布时间】:2015-09-16 18:50:27
【问题描述】:

我正在开发做以下事情的应用程序。

  1. 从 excel 文件导入记录并批量转储到 sql server 数据库。

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

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

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

我将内容分为 3 个不同的类别。

  1. excel 导入 - 验证 excel 工作表、验证数据、sql 批量插入数据库。

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

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

我需要确定最佳实践来做到这一点。有什么帮助吗?如果我也需要发布代码,请告诉我?

【问题讨论】:

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


    【解决方案1】:

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

    • 表示层(又名 UI 层:今天是

      控制台应用,

    但将来您可以添加网页、Win 表单等)

    • 应用层(又名服务层:

      SOAP API

    服务)

    • 业务层(又名业务逻辑层:

      Excel 导入和验证

    在你的情况下)

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

      SQL

    支持您的业务层所需的持久层、网络和日志服务)。

    一旦你清楚了架构,你就可以设计较低的层次。

    在您的表示层上,您可能决定为您的交互模型使用分离的表示模式(一种分层设计风格),例如Model-View-Controller

    对于业务层,您可以使用 Application Facade 或其他一些 relevant patterns.

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

    【讨论】:

    • 欢迎来到 StackOverflow @Amrik,请删除“谢谢”评论。根据网站政策,好的答案被投票并上升到顶部。提问者可以将一个答案标记为“已接受”。
    猜你喜欢
    • 2010-10-23
    • 2018-11-04
    • 1970-01-01
    • 2011-01-11
    • 2011-09-09
    • 1970-01-01
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多