大家好,这里有一个关于IT技术的问题:
我正在学习n-tier应用程序。我已经阅读了一些相关的资料,一般建议是在不同层之间抽象功能。基于这个原则,在一个n-tier应用程序中,通常的模型是:
Data Access(数据访问)-> Business Layer(业务逻辑层)-> Presentation(表示层)
作为.NET开发者,我认为使用WCF(Windows Communication Foundation)作为业务逻辑层上的数据服务可以增强与多个客户端类型(如Silverlight、Web应用或WinForms客户端)的集成。同时,我非常喜欢NHibernate作为ORM。因此,我的架构如下:
Data Access(NHibernate)-> Business Layer(WCF)-> Presentation(WPF、ASP.NET、WinForms)
好的,这就是我的设置。我完全是新手,所以我想在这里请求一些建议。另外,我非常困惑如何在VS解决方案中设置这个结构。我喜欢将层分离到不同的项目中,但数据对象(如顾客、订单等)的抽象怎么办?我要将它们放在一个单独的库中吗?还有WCF呢?我知道将数据类通过网络传输到客户端是一种编程上的不良习惯。那么,有什么更好的方法可以实现这一点呢?
谢谢,任何建议都将不胜感激。