我需要创建一个应用程序,其业务逻辑可以在WEB / WPF应用程序中使用,有任何标准方法可以做到这一点。我是模式的新手,并且一直在思考模式和框架的概念。我不想重新发明轮子。:))
任何想法?。
答案 0 :(得分:1)
你一定要读这个guide。了解所涉及的各种模式和设计是一个很好的起点。
答案 1 :(得分:1)
您可能会阅读域驱动设计。 DDD的重点是您正在谈论的业务层。它完全是面向对象的,纯粹是用POCO(普通旧clr对象)构建的。它以外部世界的形式提供服务形式的接口,并以外部世界的形式提供存储库的持久性。
顺便说一下,DDD是MVC和类似模式的近似完美匹配,因为它很好地隔离了Domain模型。
你可以从这里开始,但我会从这个链接开始,或者阅读Eric Evan的书“Domain Driven Design” http://dddstepbystep.com/
答案 2 :(得分:0)
适用于您将看到的大多数模式的一个核心概念将是“关注点分离”或某种“n层”架构。如果您要使用相同的数据使用Web和WPF应用程序,请确保数据层与业务逻辑分离并且容易包含。
通过这种方式,您可以将Web应用和WPF应用连接到同一个数据存储,但不必担心其背后的潜在问题。您的所有应用程序需要知道的是它获取X或DataTable列表或其他任何内容,并且可以从那里继续。
您可以轻松地将其应用于应用程序的各个方面。我建议从“低端”方面开始,例如数据访问和业务功能。理想情况下,一旦这些内容得到很好的解决,您需要担心的是应用程序如何呈现给用户,这是您将拥有各种实现的地方,但核心数据/功能在所有实现中保持不变
答案 3 :(得分:0)
当您需要在不同视图中显示应用程序时,可以使用标准的模型视图控制器模式:
http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller
基本思想是,通过分离这些元素,您可以更好地控制,并且能够在使用不同视图(如Web和WPF)的应用程序中重用模型和控制器。
您应该查看用于Web的ASP.net MVC框架和用于WPF的Prism框架。
还有其他变体,例如Model View Presenter。而model-view-viewmodel:
答案 4 :(得分:0)
如果您创建一个架构良好的3层架构(或n层),那么它与您的UI无关。它可以是Web应用程序,Windows应用程序,移动应用程序或其他任何内容。
UI(可以是任何东西) | | 业务逻辑层 | | DAL | | 数据源(SQL数据库)
和实体层,用于将数据从一个层传输到另一个层。
尝试WCSF(内部使用MVC)
答案 5 :(得分:0)
搜索CSLA - 组件可扩展逻辑体系结构。这是一个用于创建“业务对象”的基类的.NET库。此业务层可以在Winforms,Web或WPF中同样使用。
图书馆是免费的,亚马逊上有书籍描述它是如何运作的。 Here是本书的C#版本。还有一个VB版本
答案 6 :(得分:0)
Layered Architecture: 本文介绍.NET / WPF富客户端应用程序的具体示例体系结构。 Domain层和下面的所有层也可以在WEB应用程序中重用。