![](https://img-blog.csdnimg.cn/20190415173321985.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
设计模式
讲解了常用的设计模式以及相关零碎设计模式知识点。
Lidisam
一路有TA同行
展开
-
设计模式之一些其他知识
1 组合和继承有何区别?(暂时没想到更啥,先更着之前写的东西吧。。。) - 继承:is-a关系。实现对父类的扩展,但是继承的 -- 缺点:父类细节对子类可见;高耦合 - 组合:has-a关系。把组合类的对象加入到当前类中作为一个成员变量。 -- 优点:通过所包含的对象去调用那个类的方法,即所包含对象内部细节对当前对象不可见;低耦合,修改被包含类仅需要修改那个类(不影响当前类);运...原创 2019-04-14 21:27:44 · 176 阅读 · 0 评论 -
设计模式之责任链模式
http://www.runoob.com/design-pattern/chain-of-responsibility-pattern.html 前提:含Chain管理类、抽象处理者类、具体处理者类。行为模式,当前类引用下游形成一条链。(暂时没想到更啥,先更着以前写的责任链模式吧。。。。) 另一种方法:Filter接口、FilterA实现类、FilterB实现类、FilterChain有个...原创 2019-04-14 21:23:39 · 169 阅读 · 0 评论 -
设计模式之状态模式
https://www.cnblogs.com/java-my-life/archive/2012/06/08/2538146.html 前提:含环境类、状态接口、具体状态类。将每个状态实现为一个对象即行为。(ps: 没想到更啥,先更着以前写的状态模式吧。。。。) 1 状态接口: public interface VoteState { /** * 处理对...原创 2019-04-14 21:21:41 · 164 阅读 · 0 评论 -
设计模式之单例模式
单利模式的写法 1懒汉单利模式 2 饿汉单利模式(线程安全)一般直接用过饿汉即可,要求懒加载采用静态内部类 publicstaticsynchronized Singleton getInstance() { 3 双重检验锁模式 避免多个线程进入同步块,volatile可避免重排序。如先分配instance内存在调用构造函数顺序颠...原创 2019-04-14 21:18:46 · 154 阅读 · 0 评论 -
设计模式之桥接模式
前提:含抽象类、扩展接口、具体实现类、具体扩展类。使用组合的方式替代继承。(ps:最近想不到更新啥,就先更着以前呆的桥接模式) 区别:桥接模式与策略模式均采用组合的方式,区别在于可将策略模式当成桥接模式的子集,去掉桥接模式的扩展接口,那桥接模式与策略模式就基本一致,都是拥有一个使用接口的对象聚合某个接口后调用接口具体的实现类。 参考:https://blog.csdn.net/sjtu...原创 2019-04-14 21:08:58 · 195 阅读 · 0 评论 -
设计模式之观察者模式
参考自:https://www.cnblogs.com/luohanguo/p/7825656.html 前提:主要四个类(抽象被观察者(发布者)、抽象观察者(订阅者)、具体被观察者、具体观察者)(ps:好久没更新了,不知道更啥,先更着观察者模式。。。) 用途:微信公众号消息推送 1 抽象被观察者接口: public interface ObserverAble { ...原创 2019-04-14 21:02:46 · 223 阅读 · 0 评论 -
设计模式之策略模式
参考:https://www.cnblogs.com/java-my-life/archive/2012/05/10/2491891.html 前提:分为三部分(环境、抽象策略类、具体策略类),定义一组算法,并切封装这些算法继承自同一父类并可相互替换。(ps:好久没更新了,不知道更啥,先发着策略模式。。。) 应用场景:如折扣的计算可分离开来。 1 环境类: publi...原创 2019-04-14 20:59:47 · 189 阅读 · 0 评论 -
设计模式之装饰者模式
前提:装饰者和被装饰者类均继承自统一接口。装修者模式不控制被装饰者类,只是在方法属性上的叠加。增强对象行为。(ps:好久没更新,不知道更啥,先发着设计模式。。) 1 公用接口: public interface Superman { String getWeapon();//武器 } 2 被装饰者类(咸蛋超人-刚出山的没装备) public cla...原创 2019-04-14 20:57:50 · 162 阅读 · 0 评论 -
设计模式之代理模式
前提:代理类和被代理类均继承自统一接口。代理模式是使用代理类去控制被代理类的方法。(ps:好久没更新,不知道更啥,先发着以前写的。。。) 静态代理、JDK动态代理、Cglib动态代理区别(面试题): 静态代理需要目标对象、代理对象均实现同一接口。JDK动态代理仅需目标对象实现接口。Cglib动态代理中目标对象、代理对象均不用实现接口,其底层通过ASM转换字节码来生成目标对象子类,从而...原创 2019-04-14 20:55:13 · 150 阅读 · 0 评论