设计模式
mydots
connect the dots of my life
展开
-
《读书笔记》设计模式——简单工厂模式
public class Operation { private double numberA; private double numberB; public double getNumberA() { return numberA; } public void setNumberA(double numberA) { this.numberA = numberA; } pu原创 2014-11-25 01:03:06 · 414 阅读 · 0 评论 -
《读书笔记》设计模式——策略模式
//折扣接口public interface IDiscount { public double discount(double price);}//折扣策略1public class Discount1 implements IDiscount { @Override public double discount(double price) { reuturn price * 0.原创 2014-11-25 23:57:23 · 379 阅读 · 0 评论 -
《读书笔记》设计模式——开放-封闭原则
定义:软件实体(类、模块、函数等)应该可以扩展,但是不可修改。 就是说 对扩展开放、对更改封闭。背景:我们在设计系统的时候,很难一开始就把所有需求考虑到,随着系统的运行,会出现新的需求或者需求的变更,那么在面临需求变化的时候,我们不希望把整个程序推倒重来,那么在系统设计之初,怎样设计才能在面对需求变化的时候保持相对稳定呢?这就是要用到开放-封闭原则。原创 2014-11-28 02:13:43 · 480 阅读 · 0 评论 -
《读书笔记》设计模式——单一职责原则
定义:不要存在多于一个导致类变更的原因,即一个类只负责一项职责。问题:如果一个类T负责两个不同的职责P1,P2。当职责P1发生改变需要改变类T时,有可能会导致原本正常运行的职责P2功能发生故障。解决:对于每个职责分别用一个类进行包装。给出的例子来说明这一原则。public class Animal { public void breathe(String animal原创 2014-11-27 02:04:23 · 457 阅读 · 0 评论 -
《读书笔记》设计模式——依赖倒转原则&里氏代换原则
依赖倒转原则: 》》高层模块不应该依赖低层模块,两个都应该依赖抽象。 》》抽象不应该依赖细节,细节应该依赖抽象。 两点都说明了同一个问题,就是:程序中的依赖关系都应该终止于抽象类或者接口,而不能终止于实现细节的具体类。 高层模块与低层模块之间插入一个抽象类或者接口,让两个模块同时依赖于抽象,这样就实现了高层模块和低层模块之间的解耦,而且在需求发原创 2014-11-29 00:11:49 · 623 阅读 · 1 评论 -
《读书笔记》设计模式——装饰模式
装饰模式:动态地给一个对象添加一些额外的职责。 就增加功能来说,装饰模式相比生成子类更为灵活。public interface Person { void eat();}public class Man implements Person{ @Override public void eat() { // TODO 自动生成的方法原创 2014-11-30 01:08:14 · 538 阅读 · 0 评论 -
《读书笔记》设计模式——工厂方法模式
定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。public class Engine { }public class Underpan {}public class Wheel {}public interface ICar { public void show();}public class Car implemen原创 2014-12-19 00:07:00 · 460 阅读 · 0 评论 -
《读书笔记》设计模式——代理模式
定义:为其他对象提供一种代理以控制对这个对象的访问。public interface IProxy { void action();}public class ProxyObject implements IProxy{ IProxy iproxy; public ProxyObject(){ System.out.println("--------"); Sys原创 2014-12-06 00:49:12 · 448 阅读 · 0 评论