我通常在我的项目中使用IoC模式,这些模式大部分时间都是基于ASP.net的。是否有关于如何在一般的3层项目UI + BL +数据访问中构建项目的指南。我想更多地了解如何创建文件夹,应该在每个层中保持常量的位置(我将所有字符串,如查询字符串参数,存储过程参数等保存在名为Constants的文件中,这是单例)。我应该如何创建与业务层等数据访问层交互的类以及所有此类代码结构问题。
是否有任何指导或书籍?
答案 0 :(得分:2)
微软有很多关于此的信息。我使用Microsoft .NET:为企业架构应用程序作为我的软件架构圣经
http://www.amazon.com/Microsoft%C2%AE-NET-Architecting-Applications-Pro-Developer/dp/073562609X
查看此MSDN指南
http://msdn.microsoft.com/en-us/library/ff647095.aspx
另外,请看一些像Sharp Architecture这样的应用程序框架
许多NHibernate教程演示了可应用于任何解决方案的软件设计原则
答案 1 :(得分:0)
@robbymurphy有一个很好的答案。我只想补充一点,我将大多数常量和接口放在一个单独的项目/程序集中。我称之为我的核心"汇编和定义允许我将数据从堆栈顶部传递到底部而不紧密耦合它们的接口。
在使用它们的地方并没有那么多,而是为了什么。我曾经参加过一个研讨会课程,讲师在那里捣实了高凝聚力,低耦合度#34;进入我们的脑袋,一遍又一遍。
保持那些在现实世界中属于一起的东西,但是,尽可能减少对象之间的依赖关系。
这是一个内聚问题以及耦合问题:如果常量确实是类的内部,则使它们成为私有静态成员(即内部状态枚举)。如果它们是项目的真正内部,则为它们创建一个类,并将它们设置为内部(数据库中特定于数据库的常量)。否则,将它们放在自己项目中的公共课程中。