欢迎来到我的博客小站。  交流请加我微信好友: studyjava。  也欢迎关注公众号:Java学习之道 Fork me on GitHub

随笔分类 - java23种设计模式

设计模式;设计思想成长的第一步
摘要:工厂模式:(提供一个用于创建对象的接口(工厂接口),让其实现类(工厂实现类)决定实例化哪一个类(产品类),并且由该实现类创建对应类的实例) 一、工厂模式的意义 把对象实例化的动作提取出来,和主项目的过程或者方法的依赖关系进行解耦,通过这种方式来使整个项目、工程能够有更好的扩展性和维护性。 通俗的说: 阅读全文
posted @ 2017-10-30 13:33 淼淼之森 阅读(613) 评论(0) 推荐(0) 编辑
摘要:代理模式:(为一个对象提供一个替身,以控制对这个对象的访问) 被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象;代理模式有很多变体,都是为了控制与管理对象访问。 代理模式包含如下角色: ISubject:抽象主题角色,是一个接口。该接口是对象和它的代理共用的接口。 RealSubje 阅读全文
posted @ 2017-10-29 13:42 淼淼之森 阅读(719) 评论(0) 推荐(0) 编辑
摘要:装饰者模式:(动态的将新功能附加到对象上。在对象功能扩展方面,它比继承更有弹性) 其别名为包装器(Wrapper);装饰模式是一种对象结构模式。 设计原则:对扩展开放、对修改关闭,这句话体现在我如果想扩展被装饰者类的行为,无须修改装饰者抽象类;只需继承装饰者抽象类,实现额外的一些装饰或者叫行为即可对 阅读全文
posted @ 2017-10-15 21:15 淼淼之森 阅读(265) 评论(0) 推荐(1) 编辑
摘要:观察者模式:(对象间的一种一对多依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新) 观察者模式又称为发布/订阅(Publish/Subscribe)模式,因此我们可以用报纸期刊的订阅来形象的说明: 报社方负责出版报纸; 用户订阅了该报社的报纸,那么只要报社发布了新报纸 阅读全文
posted @ 2017-10-14 20:10 淼淼之森 阅读(331) 评论(0) 推荐(0) 编辑
摘要:策略模式:(分别封装行为接口,实现算法族,超类里放行为接口对象,在子类里具体设定行为对象) 原则: 分离变化部分,封装接口,基于接口编程各种功能。此模式让行为算法的变化独立于算法的使用者。 举例说明: 分别封装行为接口:FlyBehavior、QuackBehavior; 实现算法族:BadFlyB 阅读全文
posted @ 2017-10-13 22:39 淼淼之森 阅读(304) 评论(0) 推荐(0) 编辑
摘要:单例模式:(确保一个类最多只有一个实例,并提供一个全局访问点) 存在的意义: 有些对象我们只需要一个,如:线程池、缓存、硬件设备等;如果使用多个实例就会造成冲突、不一致等; 比如打印机这个类,如果多个对象同时使用它的输出,打印机类就产生了多个实例,就可能造成打印顺序和内容的混乱; 线程最安全,效率最 阅读全文
posted @ 2017-10-13 20:44 淼淼之森 阅读(377) 评论(0) 推荐(1) 编辑

  👉转载请注明出处和署名