设计模式
文章平均质量分 77
G2AL
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
工厂模式
工厂模式大致分为三种:简单工厂,工厂方法,抽象工厂我把工程目录贴出来:开发流程时从按照 1、简单工厂,2、、工厂方法,3、抽象工厂一、简单工厂: 简单工厂模式其实不是一个设计模式,反而比较像一种编程习惯。主要我们定义一个非常简单的类主要负责帮我们生产不同的产品。类图如下: 例子:生产鞋子:NIKE,ADIDASpackage SimpleFactory; /** *鞋子的抽...原创 2018-04-30 10:51:57 · 197 阅读 · 0 评论 -
委派者模式
下面的定义是copy的,类图是按自己的理解画的图,如有不准确,望大家指正哈!委派模式(Delegate)是面向对象设计模式中常用的一种模式。这种模式的原理为类B和类A是两个互相没有任何关系的类,B具有和A一模一样的方法和属性;并且调用B中的方法,属性就是调用A中同名的方法和属性。B好像就是一个受A授权委托的中介。第三方的代码不需要知道A的存在,也不需要和A发生直接的联系,通过B就可以直接使用A的功...原创 2018-05-06 14:56:01 · 328 阅读 · 0 评论 -
装饰者模式
参考java设计模式装饰者模式 动态的将责任附加到对象上,若要扩展功能,装饰者提供比继承更有弹性的代替方案类图:举例:一杯茶,有绿茶、红茶、通过装饰者模式变成蜂蜜绿茶,加糖绿茶上代码:package Decorator; /** * 茶的抽象类 */ public abstract class AbstractTea { protected String description = ...原创 2018-05-05 12:56:04 · 204 阅读 · 0 评论 -
适配器模式
适配器模式 是将一个类的接口,转换成客户希望的另一个接口,适配器让原本接口不兼容的类可以合作无间。举例子:参考java设计模式java中已经实现了迭代器,但是还有相当多的遗留的”客户代码“,依赖于枚举接口,所以需要利用适配器模式,将Iterator适配成Enumeration,下面对Arraylist的循环使用Enumeration的适配器实现。import java.util.Enu...原创 2018-05-05 11:37:46 · 239 阅读 · 0 评论 -
模板模式
点击打开链接转载 2018-05-03 23:20:16 · 183 阅读 · 0 评论 -
策略模式
引用TOM的课程作用:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。优点: 1、算法可以自由切换。 2、避免使用多重条件判断。 3、扩展性良好。使用场景: 1、如果在一个系统里面有许多类,它们之间的区别仅在于它们的行为,那么使用策略模式可以动态地让一个对象在许多行为中选择一种行为。 2、一个系统需要动态地在几种算法中选择一种。 3、如果一个对象有很多的行为,如果不用恰当的模式,这...转载 2018-05-03 11:09:42 · 595 阅读 · 0 评论 -
JDK动态代理模式和CGLIB代理
本文先举例子:后续跟进讲解内容,参考TOM老师xiaoming是根据JDK媒婆代理找媳妇,要实现InvocationHandler接口zhangsan时根据cglib媒婆代理找媳妇,无需实现接口JDK代理如下:package jdkProxy; public interface Person { public void findJob(); } package jdkProxy; /*...翻译 2018-05-02 23:07:48 · 156 阅读 · 0 评论 -
原型模式和深度拷贝、浅拷贝
Prototype Pattern(原型模式)意图用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。适用性• 当要实例化的类是在运行时刻指定时,例如,通过动态装载;• 为了避免创建一个与产品类层次平行的工厂类层次时;• 当一个类的实例只能有几个不同状态组合中的一种时。建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些。结构 参与者:• Prototype(原型...转载 2018-05-01 20:08:04 · 279 阅读 · 0 评论
分享