设计模式
做一个勤劳的码农
不积跬步无以至千里
展开
-
Java开发中的23种设计模式详解(转)
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。其实还有两类:并发型模式和线程...转载 2018-02-28 09:55:00 · 168 阅读 · 0 评论 -
设计模式——工厂模式
所有工厂以造枪功能模拟普通工厂方法简易理解:一个造枪厂能造枪,给什么材料,就用对应的机器造什么枪,枪都能发射子弹;工厂造的所有枪都能打子弹public interface Gun { public void shot(); } 枪厂里有造AK和M4的机器来造对应的枪public class AK implements Gun{ @Override publ...原创 2018-03-26 17:55:41 · 130 阅读 · 0 评论 -
设计模式——单例模式
最简单的两个单例模式:饿汉式与懒汉式所有单例模式的构造方法都需要私有化,禁止被实例化,都是通过内部提供方法来给出一个实例,由于不能实例化,该类提供实例的方法必须是静态方法;饿汉式:类加载时就初始化,很是急切,没有进行使用就new对象,内存浪费,但是没有锁,效率高,还是线程安全的;public class Singleton { /* 私有构造方法,防止被实例化 */...原创 2018-03-27 11:34:33 · 105 阅读 · 0 评论 -
设计模式——代理(静态代理,动态代理,Cglib)
静态代理三要素:共同接口 真实对象 代理对象功能:对原有功能以切面形式进行拓展而不改变原来的真实对象,但是当要拓展的功能比较多处理就比较麻烦;//共同接口public interface TaskInterface { String doJob(String content);}//真实对象public class RealWorker implements TaskInterface{...原创 2018-04-11 16:53:34 · 187 阅读 · 0 评论 -
设计模式——策略模式
策略模式:定义了不同的算法,分别封装起来,让他们可以互相替换,即使算法变化了,也不会影响到使用算法的用户;简单解释:很像一个计算器,我输入两个数字,然后按加号你就给我计算和,我按乘法你就给我计算乘积,内部算法客户端不关注,我就告诉你我想做怎样的计算,你去给我计算吧!和工厂方法有一点像,应用场景:立马就想到解除多个if else if 的场景了//定义策略,提供一个方法供具体策略俩实现...原创 2019-08-21 11:38:24 · 88 阅读 · 0 评论