摘要:
一、概述通常来说,“行为请求者”与“行为实现者”是紧耦合的。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这些情况下,将“行为请求者”与“行为实现者”解耦,实现二者之间的松耦合就至关重要。命令模式是解决这类问题的一个比较好的方法。二、命令模式命 阅读全文
摘要:
Spring.NET IoC容器的用法。 通过简单的例子学习Spring.Net 1、先创建一个控制台程序项目。 2、添加IUserInfoDal 接口。 3、添加AdoNetUserInfoDal类和EFUserInfoDal类,继承IUserInfoDal接口。 AdoNetUserInfoDa 阅读全文
摘要:
我们用抽象构建框架,用实现扩展细节的注意事项而已:单一职责原则告诉我们实现类要职责单一;里氏替换原则告诉我们不要破坏继承体系;依赖倒置原则告诉我们要面向接口编程;接口隔离原则告诉我们在设计接口的时候要精简单一;迪米特法则告诉我们要降低耦合。而开闭原则是总纲,他告诉我们要对扩展开放,对修改关闭。 阅读全文
摘要:
定义:一个对象应该对其他对象保持最少的了解。
问题由来:类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。
解决方案:尽量降低类与类之间的耦合。 阅读全文
摘要:
•接口尽量小,但是要有限度。对接口进行细化可以提高程序设计灵活性是不挣的事实,但是如果过小,则会造成接口数量过多,使设计复杂化。所以一定要适度。
•为依赖接口的类定制服务,只暴露给调用的类它需要的方法,它不需要的方法则隐藏起来。只有专注地为一个模块提供定制服务,才能建立最小的依赖关系。
•提高内聚,减少对外交互。使接口用最少的方法去完成最多的事情。 阅读全文
摘要:
•低层模块尽量都要有抽象类或接口,或者两者都有。
•变量的声明类型尽量是抽象类或接口。
•使用继承时遵循里氏替换原则。 阅读全文