设计模式
文章平均质量分 63
如何在5年薪百万
202110,如何5年内年薪百万
201901,如何3年内拿到50+,如果快速提升价值,拿到50k+的薪水
201801,如何在3年内拿到30+,我一工作6年,后面3年我要思考如何拿到30+
展开
-
【架构设计02】C4架构模型-四步完成绝大部分的设计
定义C4架构设计是一个通过架构图来描述程序流程和架构设计的方法论,它最强大的地方在于仅仅通过四个模型就可以完成绝大部分系统的设计。C4模型COTEXT上下文:高度抽象的系统层面描述系统之间的交互图谱,说明系统之间的差异性和联通情况CONTAINER:容器指的是应用层面,通过放大某个系统查看里面的应用组成COMPONENT: 放大某个应用我们能看到应用组件,这些组件对应了代码组件。能够成为描述应用组成的重要参考。CODE: 代码层面的设计,也就是类图等UML制图。描述了一本或者多本代码的设计思路原创 2021-08-01 19:03:18 · 3588 阅读 · 3 评论 -
【设计模式达摩院05】状态模式-策略模式的自我修养
概念“状态模式是策略模式的双胞胎,出生时才分开。”一句话几个表明了状态模式其实是有策略模式演化而来。1.状态模式代表了几种固定的策略,即和对象行为关联的几种状态控制策略。2. 状态模式更加纯粹。更多体现的是对固定之策略的操控3. 不同的状态对应不同行为,状态时莫适用于多种状态切换的模式。4. 状态模式的context定义好了所有状态,并且改变对象行为。场景复杂对象的状态切换不同状态下行为封装角色Context环境类,维护当前statestate抽象concreteState具体原创 2021-04-24 00:44:27 · 155 阅读 · 0 评论 -
【设计模式达摩院四】模板模式很棒
场景定义算法的骨架,骨架中具体的步骤可以延迟到子类中实现。新的子类在不改变算法结构的前提下重新定义该算法的某些特定步骤。核心业务的处理流程已经确定,但某个环节代码暂时不确定。可以采用模板模式,将该部分代码交给子类完成。即,父类中定义好处理步骤,具体实现延迟到子类中定义。解释dont call me ,we will call you back子类不能调用父类,父类调用子类,调用步骤已经在父类中写好了,完全由父类控制整个过程。示例先看泡茶和泡咖啡的过程public class Coffee原创 2021-04-18 16:55:28 · 118 阅读 · 0 评论 -
【设计模式达摩院】03 装饰者模式本质内涵b
场景动态为一个类增加新功能用于替代继承的技术,无需通过继承增加子类就能扩展对象的新功能。使用对象的关联关系代替继承关系,更加灵活,同时避免类型体系的快速膨胀。概念利用组合(Composition)和委托可以在运行时具有继承行为的效果利用子类继承是在编译时静态决定的,所有子类具有相同行为,然而如果利用组合的做法扩展对象行为,就可以在运动时动态扩展。开闭原则,允许在不修改代码的情况下就可以搭配新的行为。引入开闭原则会引入新的抽象层次和复杂度。组件装饰者模式的基本说明comp原创 2021-04-11 13:14:27 · 131 阅读 · 0 评论 -
【设计模式达摩院】02 命令模式其实很重要
引言命令模式的名字其实容易令人联想到脚本命令,一个命令执行了一个完整的动作。这样的模式看起来并没有特别之处,能在业务开发时想到的场景也寥寥无几。其实这个模式理解透彻能够让我梦更清晰的理解源码和设计思想,不要因为框架的盛行而忽略额最原始的设计。定义把一个或者多个方法封装,对外提供execute方法。可以请求命令对象执行execute方法完成工作。调用者并不关心命令执行的细节。一个完整的命令模式包含三个要素Command接口所有可执行的命令都实现改接口。开发者针对抽象编程。接口对外提供execute原创 2021-03-25 01:40:36 · 116 阅读 · 0 评论 -
【设计模式达摩院】01 单例模式之“回字的八种写法”
引言我用这个标题告诉那些没有接触单例模式的同学,单例有8中写法只多,不要小看单例模式。同时告诉那些了解单例模式的人,我们不能学孔乙己,咬文嚼字敲砖弄沙认为懂了8中模式就是懂了单例。单例模式是什么单例模式对于一个类只能创建一个实例,即在JVM中只有一块内存代表该对象的实例。确保任何时候使用该实例的时候所有的资源都是相同的。单例的类有义务提供全局访问的入口即getInstance。为什么要有单例模式资源节约,避免重复的对象占用宝贵的内存资源全局共享,如数据库连接,线程池等。就像你最好对外提原创 2021-03-16 01:14:11 · 187 阅读 · 0 评论