面向对象
名贤集
这个作者很懒,什么都没留下…
展开
-
Singleton 单件(创建型模式)
保证一个类仅有一个实例,并提供一个该实例的全局访问点 ///代码 public class Singleton { private Singleton() { } private static Singleton instance; public static Singleton Instance原创 2012-02-25 10:49:07 · 366 阅读 · 0 评论 -
Abstract Factory 抽象工厂模式(创建型模式)
提供一个接口,让该接口负责创建一系列“相关或者相互依赖的对象”,无需指定它们具体的类原创 2012-02-26 11:41:53 · 333 阅读 · 0 评论 -
面象对象设计原则
1、单一职责原则(SRP) 一个类应该仅有一个引起引起变化的原因。 2、开放封闭原则(OCP) 类模块应该是可扩展的,但是不可修改(对扩展开放,对更改封闭) 3、Liskov替换原则(LSP) 子类必须能够替换他的基类。 4、依赖倒置原则(DIP) 高层模块不应该依赖于低层模块,二者都应该依赖于抽象。原创 2012-02-19 14:36:16 · 398 阅读 · 0 评论 -
Builder 生成器模式(创建型模式)
将一个复杂对象的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 要点: 1、Builder模式主要用于“分步骤构建一个复杂的对象”。在这其中“分步骤”是一个稳定的算法,而复杂对象的各个部分则经常变化。 2、变化点在哪里,封装哪里——Builder模式主要在于应对“复杂对象各个部分”的频繁需求变动。其缺点在于难以应对“分步骤构建算法”的需求变动。 3、Builder模式解原创 2012-03-03 10:46:53 · 524 阅读 · 0 评论 -
Factory Method 工厂方法模式(创建型模式)
定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使得一个类的实例化延迟到子类。 要点: 1、Factory Method模式主要用于隔离类对象的使用者和具体类型之间的耦合关系。面对一个经常变化的具体类型,紧耦合关系会导致软件的脆弱。 2、Factory Method模式通过面向对象的手法,将所要创建的具体对象工作延迟到子类,从而实现一种扩展(而非原创 2012-03-04 20:38:28 · 404 阅读 · 0 评论 -
Adapter 适配器模式(结构型模式)
意图: 将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 要点: 1、Adapter模式主要应用于“希望复用一些现存的类,但是接口又与复用环境要求不一致的情况”,在遗留代码复用、类库迁移等方面非 常有用。 2、Gof 23 定义了两种Adapter模式的实现结构:对象适配器和类适配器。但类适配器采用原创 2012-03-11 15:41:13 · 372 阅读 · 0 评论 -
Prototype 原型模式(创建型模式)
意图: 使用原型实例指定创建对象的种类,然后通过拷贝这些原型来创建新的对象。 要点: 1、Prototype模式同样用于隔离类对象的使用者和具体类型(易变类)之间的耦合关系,它同样要求这些“易变类”拥有稳定的接口。 2、Prototype模式对于“如何创建易变类的实体对象”采用“原型克隆”的方法来做,它使得我们可以非常灵活的动态创建“拥有某些稳 定接口”的新对象——所原创 2012-03-11 15:22:50 · 379 阅读 · 0 评论 -
Bridge 桥接模式(结构型模式)
意图: 将抽象部分与实现部分分离,使它们都可以独立的变化。 要点: 1、Bridge模式使用“对象间的组合关系”解耦了抽象和实现之间固有的绑定关系,使得抽象和实现可以沿着各自的维度来变化。 2、所谓抽象和实现沿着各自纬度的变化,即“子类化”它们,比如不同的Tank型号子类,和不同的平台子类。得到各个子类之后,便可以任意组合它们,从而获得不同平台上的不同 型号。 3、Bridge模原创 2012-03-18 13:34:03 · 1457 阅读 · 0 评论 -
Composite 组合模式(结构型模式)
意图: 将对象组成树形结构以表示“部分——整体”的层次结构。Composite使得对单个对象和组合对象的使用具有一致性。 要点: 1、Composite模式采用树形结构来实现普遍存在的对象容器,从而将“一对多"的关系转化为“一对一的关系”,使得客户代码可以一致地处理对象和对象容器,针需关心处理的是单个对象,还是组合对象容器。 2、将“客户代码与复杂的对象容器结构”解耦是Compos原创 2012-03-18 13:49:42 · 376 阅读 · 0 评论