设计模式
普通网友
这个作者很懒,什么都没留下…
展开
-
设计模式之 工厂模式 和 抽象工厂模式
工厂模式是用工厂方法代替new操作的一种模式。大致分为三种:1.普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。2.多个工厂方法模式,是对普通工厂方法模式的改进,在普通工厂方法模式中,如果传递类型出错,则不能正确创建对象,而多个工厂方法模式是提供多个工厂方法,分别创建对象。3.静态工厂方法模式,将上面的多个工厂方法模式里的方法置为静态的,不原创 2016-10-22 12:12:37 · 221 阅读 · 0 评论 -
设计模式之 建造者模式
建造者模式就是把复杂的内部创建封装起来,对于外部调用的人来说只用传入建造者和建造工具,就能得到产品来!举个例子:邻居王大娘给王大爷一个鱼竿,他晚上给提几条鱼回来!至于老头子是怎么钓上来的,王大娘不用管!举个创建游戏角色的代码例:先写一个角色的结构类模型public class GameRole { private int powerValue; private i原创 2016-10-22 16:56:17 · 189 阅读 · 0 评论 -
设计模式之 单例模式
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。使用场景:比如用户登陆注册以及其他操作,用户就可以设计成单例模式!保证一个类是单例模式需要三个方面:1.构造函数必须私有2.必须有一个静态private此类型的对象,3.必须有一个生成这对象的public 静态函数,供外界获取一个简单的例子:原创 2016-10-22 11:00:59 · 216 阅读 · 0 评论 -
设计模式之 适配器模式
适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三种:1.类的适配器模式2.对象的适配器模式3.接口的适配器模式1.类的适配器模式核心思想就是:有一个Source类,拥有一个方法,有一个目标接口Targetable,通过Adapter类,将Source的功能扩展到Targetable里。其原创 2016-10-22 17:58:19 · 213 阅读 · 0 评论 -
设计模式之 装饰模式
装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。打个比方:一个理发师不会做饭,一个厨子会做饭,他们都实现一个叫做Person的接口,一个理发师想做饭的话,必须持有一个厨子!共同的接口Personpublic interface Perso原创 2016-10-22 19:53:24 · 322 阅读 · 0 评论 -
设计模式之 代理模式
代理模式替原对象进行一些操作,比如我们在租房子的时候回去找中介,打官司我们需要请律师,因为律师在法律方面有专长,做饭需要找厨师!还拿厨师和理发师的例子吧!一个理发师不会做饭,一个厨子会做饭,他们都实现一个叫做Person的接口,一个理发师想做饭的话,必须请一个厨子帮忙!二话不说上代码!public interface Person { public原创 2016-10-22 21:55:23 · 305 阅读 · 0 评论 -
设计模式之 策略模式
策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。需要设计一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口!比如,我要回家,可以步行,可以打车,可以坐公车!首先定义一个小明回家的策略接口:public interface GoHomeStrategy { public void goHome();}原创 2016-10-22 23:26:55 · 214 阅读 · 0 评论 -
设计模式之 观察者模式
此文参考了(http://www.cnblogs.com/mengdd/archive/2013/02/07/2908929.html)观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,让它们能够自动更新自己,完美的将观察者和被观察的对象分离开。举个例子,用户界面可以作为一个观察者原创 2016-10-23 00:07:46 · 283 阅读 · 0 评论