设计模式
vesus198
这个作者很懒,什么都没留下…
展开
-
设计模式—装饰者模式
1、简介 装饰模式指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。 2、案例 中午时间到了,到吃饭的时间了,听说公司楼下食堂最近开了一家烤肉饭,想去试试看好不好吃,点了烤肉饭以后可以加点配料,例如鸡蛋、火腿等等,添加的配料不一样,最终付的钱也不一样。 3、具体实现 3.1、定义一个食物的抽象类 packag...原创 2018-05-30 23:47:31 · 125 阅读 · 0 评论 -
设计模式—代理模式
1、代理模式定义 代理模式的定义:代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。 2、代理模式分类 按照代理创建的时期来进行分类的话, 可以分为两种:静态代理、动态代理。静态代理是在程序运行之前,代理类.class文件就已经被创建了。动态代理是在程序运行时通过反射机制动态创建的。 3、静态代理 小张最近要买车,昨天去4S店买了一辆...原创 2018-11-20 14:38:41 · 132 阅读 · 0 评论 -
设计模式—单例模式
单例模式(Singleton) 应用场景:保证一个类仅有一个实例,并提供一个访问它的全局访问点 常用单例模式写法:饿汉式、懒汉式、注册式、序列化 饿汉模式 在类加载的时候就立即初始化,并且创建单例对象 优点:没有加任何的锁、执行效率比较高, //在用户体验上来说,比懒汉式更好 缺点:类加载的时候就初始化,不管你用还是不用,我都占着空间 //浪费了内存,有可能占着茅坑不拉屎 绝对线程安...原创 2018-11-16 13:43:36 · 138 阅读 · 0 评论 -
设计模式—委派模式
设计模式—委派模式 1、简介 委派模式的原理为类B和类A是两个互相没有任何关系的类,B具有和A一模一样的方法和属性,并且调用B中的方法、属性就是调用A中同名的方法和属性。B好像就是一个受A授权委托的中介。第三方的代码不需要知道A的存在,也不需要和A发生直接的联系,通过B就可以直接使用A的功能。 2、示例 老板新来了一个订单,要在一个星期内生产100部苹果手机和100部华为手机,老板将这批订单交到车...原创 2018-11-21 16:23:33 · 262 阅读 · 0 评论 -
设计模式—建造者模式
1、简介 建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。建造者模式属于对象创建型模式。根据中文翻译的不同,建造者模式又可以称为生成器模式。 2、示例 设备更新完成了,每个车间配置了一个工程师,指...原创 2018-11-23 17:27:13 · 109 阅读 · 0 评论 -
设计模式—策略模式
1、简介 定义:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。策略模式让算法独立于它的使用者之外,可以自由修改。 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。...原创 2018-11-22 09:51:18 · 129 阅读 · 0 评论 -
设计模式-模板模式
1、简介 定义:定义一个操作中算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变算法的结构即可重定义该算法的某些特定步骤。 通俗点的理解就是 :完成一件事情,有固定的数个步骤,但是每个步骤根据对象的不同,而实现细节不同;就可以在父类中定义一个完成该事情的总方法,按照完成事件需要的步骤去调用其每个步骤的实现方法。每个步骤的具体实现,由子类完成 2、示例 随着订单的飞速增长,公司引入了新...原创 2018-11-22 15:26:47 · 126 阅读 · 0 评论 -
设计模式—工厂模式
1、简单(静态)工厂 老板要创立一个手机代工工厂,可以生产苹果手机,华为手机、小米手机,开始干活创建工厂。 示例 public class MobileStaticFactory { public static final String TYPE_IPHONE="iphone";//苹果手机 public static final String TYPE_HUAWEI="hua...原创 2018-11-19 16:34:07 · 136 阅读 · 0 评论 -
设计模式—外观模式
1、简介 外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。 2、示例 为了达到手机生产精细化的要求,老板让我们把原来的车间分成一个个小的车间,每个小的车间负责一部分手机的生产任务。 3、角色 Facade:为子系统提供一个共同的对外接口。知道哪些子系统负责处...原创 2018-11-22 19:32:47 · 120 阅读 · 0 评论