设计模式
教兽
这个作者很懒,什么都没留下…
展开
-
原型模式
一. 原型模式简介 原型模式(Prototype Pattern)也是一种创建型模式,它关注的是大量相似对象的创建问题。我们经常会遇到这样的情况:在系统中要创建大量的对象,这些对象之间具有几乎完全相同的功能,只是在细节上有一点儿差别。 这样的情形经常遇到。三国系列游戏是我最喜欢的游戏系列之一。你有没有注意到那里边上百位英雄的头像基本上很相似?你仔细区分就会发现,虽然每个人都不同,但基本转载 2013-05-13 10:57:32 · 614 阅读 · 0 评论 -
工厂方法模式
工厂模式: 首先需要说一下工厂模式。工厂模式根据抽象程度的不同分为三种:简单工厂模式(也叫静态工厂模式)、本文所讲述的工厂方法模式、以及抽象工厂模式。工厂模式是编程中经常用到的一种模式。它的主要优点有:可以使代码结构清晰,有效地封装变化。在编程中,产品类的实例化有时候是比较复杂和多变的,通过工厂模式,将产品的实例化封装起来,使得调用者根本无需关心产品的实例化过程,只需转载 2013-05-13 10:32:45 · 569 阅读 · 0 评论 -
简单工厂模式和策略模式
1、简单工厂模式重于对象的创建,factory类帮助客户创建对应的子类具体对象,返回一个父类的指针给客户,客户看似对该父类对象操作,但通过多态执行的是实际子类对象的动作。可见,简单工厂模式是隐藏了对象创建的变化,然后返回给客户一个统一的父类对象,然客户接下来去操作这个父类对象吧。2、策略模式是重于封装一个表面行为的内在的不同算法动作,比如说话,表面都是说话,是一致的,但不同动物所执行的内在说话原创 2013-05-09 15:56:06 · 852 阅读 · 0 评论 -
装饰模式
1、一个相片放入了相框,那么相框装饰了相片。相片相当于component类,相框相当于Decorator类。我们可以发现,相框里面包含一个相片,所以有了一个has-a的关系;但是,当相框里面拥有了相册以后,我们很多时候就把相框的这个整体当作相片来使用了,所以,此时相框本身却变成了一个“相片”了,也就勉强有了一个is-a的关系。2、装饰模式的组成:1) 抽象构件角色(Compo原创 2013-05-10 09:43:44 · 590 阅读 · 0 评论 -
装饰模式
Decorator装饰模式是一种结构型模式,它主要是解决:“过度地使用了继承来扩展对象的功能”,由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多子类的膨胀(多继承)。继承为类型引入的静态特质的意思是说以继承的方式使某一类型要获得功能是在编译时。所谓静态,是指在编译时;动态,是指在运行时。GoF《设计模式》转载 2013-05-10 08:34:46 · 534 阅读 · 0 评论