2012-04-18 50 views
-1

我处于新项目的“设计”阶段。我会详细介绍一下它应该包含什么,如果有人能指出我朝着正确的方向(因为我不是软件架构师,我是工程师+程序员),我会很高兴。WCF + LINQ +后台工作者的最佳设计方法

  1. 有一个WCF服务将为多个消费客户提供服务。
  2. WCF服务将对SQL数据库执行CRUD操作。
  3. WCF服务将响应客户端返回数据的呼叫。
  4. 除了来自客户端的“轮询”之外,应该有一种服务向客户端发送关于不同事件的更新的机制(所以在后台应该有某种工作线程来检查发生的新事件,通知所有相关的客户)。
  5. 在密码保护的客户端应该有一个“登录”系统。

我想的是什么(我在类图相):

  1. 的服务 - 有一个接口类和实现类
  2. 为每个对象的服务接收或返回 - 创建一个DTO类
  3. 所有返回的对象将继承某种可能包含来自业务逻辑的警告和错误的“Result”类。
  4. 数据访问层将是LINQ。

现在我被困在如何分离图层,以及如何在类图中说明这一点。

我知道我应该有一些交叉像'安全'和'记录'层也许。 我也知道WCF服务不应该直接与数据库通信,而应该使用某种业务逻辑。

但我不知道如何在类图中显示。 我是否创建了一个名为“业务逻辑”的类?

以及如何显示应该在后台运行的'worker'线程并通知客户特殊的事情?

以及一切如何融合在一起?意思是 - 我是否实例化业务逻辑,然后将其注入到服务中?或者业务逻辑是一个静态类?

我想我可能会术语“域”和“层”混合起来也许:(

感谢的人谁可以解释我应该如何正确设计的东西,或者也许指向我一个很好的指导对我的情况...

+0

这里有很多主题和问题。你可以先阅读几本书,并提出更具建设性的问题。 – 2012-04-19 04:40:17

+0

我只是在问关于类图 – 2012-04-19 07:05:07

+0

你能回答我的一些问题吗?相信我 - 我已经阅读了几本书以及MSDN和其他网站上的大量文章。这些信息有时是矛盾的,所以我希望这里的专家能够尝试并引导我朝着正确的方向前进...... – 2012-04-19 07:25:55

回答

0

我刚刚阅读了一本书,它将回答大多数问题'使用LINQ to Entities进行WCF 4.0多层服务开发'。在Internet上搜索您可能会有一些想法。

+0

如果我使用LINQ to LINQ to SQL实体,它会有所作为吗? – 2012-04-19 07:05:27

+0

此外,本书是否详细介绍了我在某些网站上阅读的整个“注射”方法? – 2012-04-19 07:22:50

+0

这是一个关于各种设计哲学而不是具体的QA /问题解决的大型开放式问题,可能不会得到任何好的答案。通过询问关于您的实践的具体问题,您可以找到更好的答案,包括您正在尝试的内容,您编写的某些代码以及代码的位置不符合您的期望或解决您尝试解决的问题。 – EtherDragon 2012-04-19 20:27:01