摘要:
1、意图 命令模式:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作 2、核心思想 命令模式:把一个请求或者操作封装到一个对象中,命令模式把发出命令的责任和执行命令的责任分割开来,委派给不同的对象。命令模式允许请求的一方和发送的一方独立开来,使得请求的一方不必知道接收请求的一方的接口,更不必知道请求是怎么被接收,以及操作是否执行,何... 阅读全文
摘要:
1、合成聚合原则 缘由:对象的继承关系是在编译时就定义好了,所以无法在运行时改变从父类继承的实现。子类的实现与它的父类有非常紧密的依赖关系,以至于父类实现中的任何变化必然会导致子类发生变化。当你需要复用子类时,如果继承下来的实现不适合解决新的问题,则父类必须重写或被其他更适合的类替换。这种依赖关系限制了灵活性并最终限制了复用性。 原则: 合成/聚合原则(CARP):尽量使用合成/聚合,尽量不要使... 阅读全文
摘要:
1、意图 保证一个类仅有一个实例,并提供一个访问它的全局访问点 2、核心思想 确保某个类只有一个实例(类的静态成员变量),而且自行实例化并向整个系统提供这个实例单例模式。 直接将类的构造方法改成私有的(所有类都有构造方法,不编码则系统默认生成空的构造方法,若有显示定义的构造方法,默认的构造方法就会失效),然后在一个public的实例化函数中调用私有构造函数,完成仅有的一次实例化。 3、优缺点分析... 阅读全文