设计模式
小菜遇见大鸟,小菜也会变成大鸟。通过设计模式的学习会让代码更加的简便,优化代码,优化生活。
ningmengbaby
每个人都有属于自己的那个闪光点,重要的是绽放!
展开
-
策略模式+模板方法的使用
之前了解策略模式,都是看的一些理论知识然后敲了一些小demo。比如,定义:定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化不会影响到使用算法的用户处理掉if…else…类型:行为型适用场景系统有很多类,而他们的区别仅仅在于他们的行为不同 一个系统需要动态地在几种算法中选择一种 优点 开闭原则 避免使用多重条件转移语句 提高算法的保密性和安全性 缺点 客户端必须知...原创 2020-01-16 21:33:55 · 1702 阅读 · 0 评论 -
职责链模式
前言项目中有考勤请假审批这个模块,可以用到职责链模式。过程请一天假,请示小组长,请三天假,请示项目经理,请五天及五天以上的假,请示CTO。提出请假的人便是Client,而组长、经理、CTO三者其实是同一类人,即都是请求处理者(ConcreteHandler),而他们都是抽象的处理者(Handler)的子类。Client: 调用者; Request: 请求体,用于封装...原创 2019-09-15 11:13:45 · 140 阅读 · 0 评论 -
单例模式
单例模式定义:保证一个类仅有一个实例,并提供一个全局访问点类型:创建型适用场景想确保任何情况下都绝对只有一个实例优点在内存里只有一个实例,减少了内存开销 可以避免对资源的多重占用 设置全局访问点,严格控制访问缺点没有接口,扩展困难重点私有构造器 线程安全 延迟加载 序列化和反序列化安全 反射懒汉式使用的时候才初始化public class...原创 2019-09-15 11:26:22 · 138 阅读 · 0 评论 -
适配器模式
定义:将一个类的接口转换成客户希望的另一个接口使原本不兼容的类可以一起工作类型:结构型适用场景已经存在的类,它的方法和需求不匹配时(方法结果相同或相似) 不是软件设计阶段考虑的设计模式,是随着软件维护,由于不同产品、不同厂家造成功能类似而接口不相同情况下的解决方案优点能提高类的透明性和复用性,现有的类复用但不需要改变 目标类和适配器类解耦,提高程序扩展性 符合开闭原则...原创 2019-09-15 11:46:01 · 104 阅读 · 0 评论 -
观察者模式
定义:定义了对象之间一对多依赖,让多个观察者对象同时监听某一个主题对象,当主题对象发生变化时,它的所有观察者都会收到通知并更新类型:行为型适用场景关联行为场景,建立一套触发机制优点观察者和被观察者之间建立一个抽象的耦合 观察者模式支持广播通信缺点观察者之间由过多的细节依赖,提高时间消耗及程序复杂度 使用要得当,要避免循环调用实现观察者模式使用三个类 Subject...原创 2019-10-04 19:43:23 · 108 阅读 · 0 评论 -
策略模式
定义:定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化不会影响到使用算法的用户处理掉if...else...类型:行为型适用场景系统有很多类,而他们的区别仅仅在于他们的行为不同 一个系统需要动态地在几种算法中选择一种优点开闭原则 避免使用多重条件转移语句 提高算法的保密性和安全性缺点客户端必须知道所有的策略类,并自行决定用哪一个策略类 ...原创 2019-10-04 19:51:42 · 105 阅读 · 0 评论