Design Pattern
HackerDotCn
If not me, who?
If not now, when?
If I can, why not?
展开
-
Design Pattern 1: Singleton
懒汉可以达到lazy-loading,线程不安全,实际不会使用public class Singleton1 { private static Singleton1 instance; private Singleton1(){} public static Singleton1 getInstance(){ if(instance == null){原创 2017-09-30 01:46:25 · 362 阅读 · 0 评论 -
Design Pattern 5: Chain of Responsibility
概念: 使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合。将这些对象连城一条链,并沿着该条链传递请求,直到有对象处理它为止。责任链模式的核心在“链”上,“链”由多个处理者ConcreteHandler组成。 责任链模式融合了模板方法模式,每个实现类只要实现抽象类Handler的echo处理请求和getHanderLevel获得处理级别即可。public abstract cla原创 2017-11-29 02:02:08 · 167 阅读 · 0 评论 -
Design Pattern 6: Adapter Pattern
概念将一个类的接口变换成客户端所期待的另一种接口,从而使原因因接口不匹配而无法在一起工作的两个类能够在一起工作。 convert the interface of a class into another interface clients expect. Adapter lets classes work together that couldn’t otherwise because of i原创 2017-11-05 23:08:21 · 226 阅读 · 0 评论 -
Design Pattern 3: Factory Method && Abstract Factory Pattern
工厂方法概念定义一个用于创建对象的接口,让子类决定实例化哪一个类。 Define an interface for creating an object,but let subclasses decide which class to instantiate.Factory method lets a class defer instantiation to subclasses. 工厂方法原创 2017-11-05 22:47:46 · 155 阅读 · 0 评论 -
Design Pattern 4: Template
模板方法模式一般把模板方法定义成final避免被子类修改 http://blog.csdn.net/zhangliangzi/article/details/51475133原创 2017-09-29 02:01:31 · 236 阅读 · 0 评论 -
Design Pattern 2: Proxy
概念:为其他对象提供一种代理一控制对这个对象的访问。 Provide a surrogate or placeholder for another object to control access to it. 代理模式类图 涉及三个角色:Subject抽象主题 可以是抽象类也可以是接口,普通业务类型定义RealSubject具体主题 被委托角色,业务逻辑具体执行者Pr原创 2017-10-31 00:05:14 · 201 阅读 · 0 评论 -
Design Pattern 7: Flyweight Pattern
概念使用场景 举例:String.intern() 与对象池模式的区别原创 2017-12-05 16:46:35 · 162 阅读 · 0 评论 -
Design Pattern 0: Intro
UML设计模式的书籍和博客中常常通过UML类图的方式来阐述,所以了解点UML类图知识很有必要。 UML类图关系 其中继承和实现很容易理解,不再赘述。 依赖(Dependency) 就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、、临时性的、非常弱的;表现在代码层面,为类B作为参数被类A在某个method方法中使用。 关联(Association)关系是类与类之间的联接原创 2017-10-30 17:54:45 · 195 阅读 · 0 评论