设计模式
奔波儿灞爱上灞波儿奔
勤学如春起之苗,不见其长,日有所增。辍学如磨刀之石,不见其损,日有所亏。
展开
-
装饰则模式
概念:动态的为对象增加额外的职责,比生成子类更为灵活。 实例中,Component ConcreteComponent都为Person。//公共接口,也是目标类,职责的承受者 public interface Person { void eat();} //装饰者类,负责生成职责 public abstract class Decorator implements Person { pr原创 2017-10-18 10:39:08 · 151 阅读 · 0 评论 -
策略模式,简单工厂模式结合
概念:定义了算法家族,分别封装起来。让他们之间可以相互替换,随着算法的变换,不会影响客户端代码。!图自己看,Context与Strategy聚合 //定义抽象策略类 public abstract class Strategy { /** * @describe 定义抽象策略的方法,容易扩展不同策略 * @param a * @param原创 2017-10-17 15:16:03 · 369 阅读 · 0 评论 -
JVM client模式和Server模式的区别
这里向大家描述一下JVM client模式和Server模式两者的区别和联系,JVM如果不显式指定是-Server模式还是-client模式,JVM能够根据下列原则进行自动判断(适用于Java5版本或者Java以上版本)。JVM client模式和Server模式JVM Server模式与client模式启动,最主要的差别在于:-Server模式启动时,速度较慢,但是一旦运行起来后,性能将会有很大的转载 2017-12-01 13:22:56 · 2599 阅读 · 0 评论 -
设计模式六大原则
*开放封闭原则:对现有的业务模块对扩展开放,对修改关闭。 *单一职责原则:就一个类而言,应该只有一个因素能引起它的改变 *里氏替换原则:衍生类对基类复用后不会对程序的行为造成改变 *依赖倒转原则:高层模块不应该依赖底层模块,降低耦合性, *接口隔离原则 : *迪米特法则:最少知道法则,减少类之间的项目碰撞,尽量依靠中间体来维持他们的关系。原创 2017-10-18 10:20:38 · 135 阅读 · 0 评论 -
策略模式
策略模式(Strategy):定义了算法家族,分别封装起来,他们之间可以相互替换,此算法的变换,不会影响到算法的客户。 上图中Strategy的子类定义了不同的算法,Context聚合Strategy抽象类,Context来维护具体策略的关系,客户端无需知道内部具体操作。 具体实现: package strategy; public abstract class Strategy原创 2018-01-07 18:31:13 · 149 阅读 · 0 评论 -
设计模式中的几种关系总结
面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强。 可以参考下图的关系对应: 1.依赖(Dependence) 描述: 可以简单的理解,就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、临时性的、非常弱的,但是B类的变化会影响到A。表现在代码层面,类A当中使用了类B,其中类B是作为类A的方法参数、方法中的局部...原创 2018-09-04 17:23:58 · 756 阅读 · 0 评论