设计模式
cyiya
这个作者很懒,什么都没留下…
展开
-
工厂模式
1. 模式的定义 工厂方法模式(Factory Method Pattern)又称为工厂模式,也叫虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorphic Factory)模式,它属于类创建型模式。在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中完成,即通过工厂子...原创 2018-04-16 09:54:01 · 108 阅读 · 0 评论 -
抽象工厂模式
相较于工厂模式,我们需要一个工厂可以提供多个产品对象,而不是单一的产品对象。 比如有个海尔工厂,那么抽象工厂需要生产海尔电视机、海尔电冰箱,海尔空调等同类品牌产品。 1.模式的定义 抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。 2.模式结构 &nbs...原创 2018-04-17 09:31:23 · 121 阅读 · 0 评论 -
单例模式
1.模式定义 单例模式(Singleton Pattern):单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。 单例模式是一种对象创建型模式。 2.单例模式的三个要点: 1. 某个类只能有一个实例; 2. 它必须自行创建这个实例; 3. 它必须自行向整个系统提供这个实例。 3.模式分析 在单例模式的实现过程中,...原创 2018-04-18 11:16:12 · 1405 阅读 · 0 评论 -
对象结构型——适配器模式
适配器模式(Adapter Pattern) :将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。 结构型模式(Structural Pattern)描述如何将类或者对象结合在一起形成更大的结构。 模式结构 适配器模式包含如下角色: Target:目标抽象类 Ad...原创 2018-04-24 08:00:24 · 374 阅读 · 0 评论 -
组合模式
模式动机 组合模式描述了如何将容器对象和叶子对象进行递归组合,使得用户在使用时无须对它们进行区分,可以一致地对待容器对象和叶子对象,这就是组合模式的模式动机。 模式定义 组合模式(Composite Pattern):组合多个对象形成树形结构以表示“整体-部分”的结构层次。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性...原创 2018-04-25 09:28:00 · 203 阅读 · 0 评论 -
对象结构型——外观模式
外观模式(Facade Pattern):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式又称为门面模式,它是一种对象结构型模式。 模式适用情况 当要为一个复杂子系统提供一个简单接口时可以使用外观模式。 客户程序与多个子系统之间存在很大的依赖性。 在层次化结构中,可以使用外观...原创 2018-04-25 09:39:00 · 485 阅读 · 0 评论 -
对象结构型——代理模式
模式定义 代理模式(Proxy Pattern) :给某一个对象提供一个代理,并由代理对象控制对原对象的引用。代理模式是一种对象结构型模式。 模式结构 代理模式包含如下角色: Subject: 抽象主题角色 Proxy: 代理主题角色 RealSubject: 真实主题角色 模式分析 代理模式示意结构图 模式扩展 几种常用的代理模式 图片代理:一个很常见的代理...原创 2018-04-28 09:28:46 · 256 阅读 · 0 评论 -
对象行为型——迭代器模式
模式定义 迭代器模式(Iterator Pattern) :提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示,其别名为游标(Cursor)。迭代器模式是一种对象行为型模式。 模式结构 迭代器模式包含如下角色: Iterator: 抽象迭代器 ConcreteIterator: 具体迭代器 Aggregate: 抽象聚合类 ConcreteAggregate: 具体聚合类 ...原创 2018-05-07 15:41:47 · 718 阅读 · 0 评论