Design Pattern
luckystar2008
个人博客:https://tommy88.top
展开
-
追MM与设计模式
转载http://bbs.csdn.net/topics/40082491 创建型模式1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory2、BUILDER—MM最爱听的就是“我爱你”这句话了,见到不同地方的MM,要转载 2013-06-26 16:45:35 · 540 阅读 · 0 评论 -
装饰者模式
装饰者模式有一个设计非常巧妙的结构,可以为对象动态添加功能。在基本的设计原则中,有一个重要的原则叫做合成/聚合复用原则。根据该原则的思想,代码复用应该尽可能使用委托,而不是继承。 因为继承是一种紧密耦合,任何父类的改动都会影响其子类,不利于系统维护。而委托则是松散耦合,只要接口不变,委托类的变动并不会影响其上层维护对象。装饰者模式充分运用了这种思想,通过委托机制,复用系统的各个组件,在运行时...原创 2018-09-01 09:53:50 · 150 阅读 · 0 评论 -
享元模式
定义: 享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。 享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。它与单例模式相似,最大区别在于单例模式一个类只有一个实例;享元模式一个类有多个实例。来自微博Barret李靖对享元模式的说...原创 2018-09-01 10:14:10 · 67 阅读 · 0 评论 -
观察者模式
在软件系统中,当一个对象的行为依赖另外一个对象的状态时,观察者模式就很有用。若不使用观察者模式,实现类似的功能,需要在一个线程中不断监听对象状态的变化。 在一个复杂的系统中,可能会因此开启很多线程,这将使系统性能产生额外的负担。观察者模式的意义也在于此,它可以在单线程中,在自身状态发生变化时,及时通知所依赖的对象。以下使用一个例子来说明。 AbstractSubject抽象主题对象...原创 2018-09-13 09:40:59 · 132 阅读 · 0 评论 -
代理模式
前言代理模式是一种常见的设计模式,它使用代理对象完成用户请求,屏蔽了用户对真实对象的访问。在软件设计中,使用代理模式的意图也很多。比如因为安全原因,屏蔽客户端直接访问真实对象。或者在远程调用中,使用代理类来屏蔽远程方法调用的技术细节。或为了提升系统性能,将真实对象封装,达到延迟加载的目的。比如hibernate就使用了cglib来实现延迟加载。 这里使用代理模式实现延迟加载,提升系统性能...原创 2018-09-14 10:29:55 · 83 阅读 · 0 评论 -
单例模式的实现方式
饿汉式public class Singleton { private static Singleton instance = new Singleton(); private Singleton() {} public static Singleton getInstance() { return instance; }}注意:必须是...原创 2018-09-15 10:25:33 · 1188 阅读 · 0 评论