
大话设计模式
quan___
1万小时的锤炼是任何人从平凡变成世界级大师的必要条件
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
设计模式(UML类图)
UML类图UML类图总结总结:类图里面 “+” 表示 public “-” 表示private “#” 表示 protected类与线条的关系:前面(外面) 指向 后面(里面)继承: 空心三角形+实线实现接口:空心三角形+虚线关联:实线箭头聚合:空心菱形+实线箭头组合:实心菱形+实线箭头(有基数)依赖:虚线箭头...原创 2019-03-08 14:36:44 · 292 阅读 · 0 评论 -
设计模式(结构型--适配器模式)
包装出一个可以给客户调用的接口。使用场景:希望复用一些现存的类,但是接口又与复用环境不一致的情况。原创 2019-03-11 09:42:18 · 207 阅读 · 0 评论 -
设计模式(结构型--装饰模式)
子类覆盖父类的方法时,可以在父类原始的实现前面或者后面动态的添加功能。使用场景:需要在旧功能的基础上动态的添加新功能时。可以很好把核心职能和装饰功能区分开,还可以去除相关类中重复的装饰逻辑。...原创 2019-03-11 09:40:13 · 151 阅读 · 0 评论 -
设计模式(结构型--代理模式)
代理类和真实类都继承抽象类,实现其接口,代理类里面有真实类的引用,实现也是调用真实类是实现。使用场景: 1.远程代理 webservice就是代理模式,生成的文件就是代理。 2.虚拟代理 根据需要创建开销很大的对象,通过它来存放实例化需要很长时间的真是对象。例如:加载网页代理真是图片,先看到文字,再慢慢下载真实图片。 3.安全代理 控制真实对象访问时的权限。 4.智能...原创 2019-03-11 09:37:06 · 172 阅读 · 0 评论 -
设计模式(创建型--单例模式)
实现单例模式的5种方式:1.饿汉式单例(立即加载方式)public class Singleton{ private Singleton(){}; private static Singleton single = new Singleton(); public static Singleton getInstance(){ return single; }}2.懒...原创 2019-03-11 09:30:27 · 164 阅读 · 0 评论 -
设计模式(创建型--抽象工厂模式)
对比工厂方法模式,多了不同的产品。缺点:增加产品,需要增加多个类,还需要修改三个工厂类改进:利用简单厂家替代三个工厂类,在利用反射和配置文件实现动态的改变传值。...原创 2019-03-11 09:12:17 · 130 阅读 · 0 评论 -
设计模式(创建型--工厂方法模式)
将工厂类也进行抽象,多个子类factory继承父类factory,同时实现父类的实例化子类bean。原创 2019-03-08 15:10:41 · 100 阅读 · 0 评论 -
设计模式(创建型--简单工厂模式)
简单工厂模式需要一个beanFactory,用来实例化父类bean需要一个父类bean多个子类bean集成父类bean使用通过工厂类判断参数类型来实例化引用变量为父类的子类实例。使用场景:在不确定会有多少个处理操作时应该考虑使用简单工厂模式,如针对同样的接收到的数据,处理的逻辑可能会不同,可能以后还会增加新的操作。缺点:违反了开闭原则,增加实现需要修改工厂类。...原创 2019-03-08 14:58:01 · 108 阅读 · 0 评论 -
设计模式(分类)
23种设计模式可以分为3大类:创建型模式结构型模式行为型模式其中 简单工厂模式 后面被归为 创建型模式。原创 2019-03-08 14:52:50 · 146 阅读 · 0 评论 -
设计模式(六大原则)
1.单一职责原则2.开放-封闭原则3.依赖倒转原则4.里氏代换原则5.接口隔离原则 定义:类之间的依赖关系应该建立在最小的接口上。 通俗地讲:建立单一接口,不要建立庞大臃肿的接口;尽量细化接口,接口中的方法尽量少。 注意:接口尽量小,但是要有限度。对接口进行细化可以提高程序设计灵活性,但是如果过小,则会造成接口数量过多,使设计复杂化,所以一定要适度。提高内聚,减...原创 2019-03-08 14:45:44 · 147 阅读 · 0 评论 -
设计模式(行为型--策略模式)
Context类有个属性是Strategy,通过构造函数,需要哪个具体的策略就传入哪个具体的实现类。优点:封装了变化,具体的实现策略的类可以单独修改测试。使用场景:不同时间应用不同的业务规则。通过简单工厂和策略模式的结合,可以避免客户端调用的判断,将Context改造成工厂类。工厂模式和策略模式的区别在于实例化一个对象的位置不同,对工厂模式而言,实例化对象是放在服务端的,即放在了工...原创 2019-03-11 09:48:28 · 182 阅读 · 0 评论