三层架构
表示层(UI)——>业务逻辑层(BLL)——>数据访问层(DAL)
优点:高可扩展性、可维护性高、有利于标准化、代码可重用
缺点:代码量多、工作量大、系统比较复杂(最好是精通设计思想,如:设计模式),运行效率低
迪米特法则的主要原则:
让一个类尽量少地与其它的类发生联系。如果破坏这个原则,那么当数据库操作类发生变化,就会造成多个网页类也要做出相应的变化,这种连锁反应的变化会增加软件的维护成本。
三层架构设计中如何防止跨层调用
构建的主要方法是在一个解决方案中分别建立3个项目,每个项目对应一层,通过在项目中引用其他项目,来限制其只能访问已引用的项目类,从而避免跨层调用。
如何实现跨数据库的三层架构设计
在解决方案中新增加一个专门访问数据库的新的数据访问层,它与其他数据库的数据访问层是并列的。在程序运行时,动态地加载其中的一个数据访问层的对象实例。为了能实现动态加载,在解决方案中还要增加一个“开关”项目,即“数据访问层工厂”项目,它用来指示应用程序最终加载到哪个数据访问层对象。(注:在使用其中一个数据库时,应在配置文件中注释数据库的配置信息,使得程序运行时创建XXX数据访问层对象。)