设计模式
文章平均质量分 88
设计模式相关
码农充电站
微信公众号:码农充电站pro
个人主页:https://codeshellme.github.io
展开
-
组合模式-统一的处理个别对象与组合对象
组合模式可以将对象组合成树形结构来表示“整体-部分”的层次结构,使得客户可以用一致的方式处理个别对象和对象组合。原创 2021-01-13 10:50:39 · 171 阅读 · 0 评论 -
代理模式-访问对象的代理而非其本身
代理模式为对象提供一个代理,来控制对该对象的访问。代理模式在不改变原始类代码的情况下,通过引入代理类来给原始类附加功能。原创 2021-01-11 16:28:27 · 207 阅读 · 0 评论 -
状态模式-将状态和行为封装成对象
状态模式允许对象在内部状态改变时,改变它的行为,对象看起来好像改变了它的类。原创 2021-01-08 09:23:15 · 273 阅读 · 0 评论 -
迭代器模式-统一集合的遍历方式
迭代器模式提供了一种方法,用于遍历集合对象中的元素,而又不暴露其内部的细节。原创 2021-01-07 09:52:36 · 424 阅读 · 0 评论 -
模板方法模式-封装一套算法流程
模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中,使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。原创 2021-01-06 10:24:46 · 209 阅读 · 0 评论 -
外观模式-简化子系统的复杂性
外观模式又叫门面模式,它提供了一个统一的(高层)接口,用来访问子系统中的一群接口,使得子系统更容易使用。原创 2021-01-05 09:47:02 · 240 阅读 · 0 评论 -
针对接口编程,而不是针对实现编程
“针对接口编程”的真正含义是“针对超类型编程”,它利用了多态的特性。更明确的来说就是,一个变量 a 的声明类型应该是超类型A,所谓的超类型一般是抽象类或接口。超类型强调的是,它与它的所有派生类共有的“特性”。这样做的好处是,变量 a 可以指向超类型 A 的任意一个派生类,并且 a 调用超类型A 中的任意一个方法都不会出错。这时 a 进行任何操作,其实都是动态决定的,而不是硬编码,这样的代码也更加有弹性。比如,我们有下面的继承关系:interface Animal { void makeSou原创 2021-01-04 11:41:12 · 586 阅读 · 0 评论 -
适配器模式-让不兼容的接口得以适配
适配器模式将一个类的接口转换成客户期望的另一个接口,使得原本接口不兼容的类可以相互合作。原创 2021-01-04 10:42:24 · 441 阅读 · 0 评论 -
命令模式-将请求封装成对象
命令模式将请求封装为对象,能够支持请求的排队执行、记录日志、撤销等功能。原创 2020-12-31 09:13:59 · 522 阅读 · 0 评论 -
装饰者模式-动态的包装原有对象的行为
装饰者模式能够更灵活的,动态的给对象添加其它功能,而不需要修改任何现有的底层代码。原创 2020-12-30 10:24:59 · 207 阅读 · 0 评论 -
观察者模式-将消息通知给观察者
观察者模式(Observer Design Pattern)定义了对象之间的一对多依赖,当对象状态改变的时候,所有依赖者都会自动收到通知。原创 2020-12-29 09:57:27 · 325 阅读 · 0 评论 -
策略模式-定义一个算法族
策略模式定义了一系列算法族,并封装在类中,它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。原创 2020-12-28 10:53:17 · 321 阅读 · 2 评论 -
工厂模式-将对象的创建封装起来
工厂模式(Factory Design Pattern)可细分为三种,分别是简单工厂,工厂方法和抽象工厂,它们都是为了更好的创建对象。原创 2020-12-25 09:41:09 · 363 阅读 · 0 评论 -
单例模式的五种实现方式及优缺点
单例模式(Singleton Design Pattern)保证一个类只能有一个实例,并提供一个全局访问点。原创 2020-12-23 09:02:47 · 640 阅读 · 0 评论 -
设计模式之高质量代码
0,什么样的代码是好代码如果有人问你,“什么样的代码是好代码”,你会怎样回答呢?我觉得回答这个问题,应该从两个方面考虑。从业务角度考虑。首先,在公司开发一款软件,应该是业务在驱动。所以,从这个角度来说,代码第一个应该满足的是业务需求,如果连最基本的业务需求都满足不了,别的也就无从谈起。从纯代码层面考虑。本篇我们重点要介绍的也就是这个问题。那从纯代码层面来说,什么样的代码才是好代码呢?通常会有以下几个判断标准:可维护性:在当前代码的基础上,做修正或改进,是否容易做到?可扩展性:当有了新的原创 2020-11-13 11:34:29 · 191 阅读 · 0 评论