设计模式·观想录
文章平均质量分 81
以故事,辅之代码演化,提升修为,不局限于设计模式。
与其他教程最大的不同是:不是直接套用设计模式来解决问题,而是通过一步步去改进代码设计,通过演化的过程,最终推演出设计模式,在此过程中,你可能对代码设计的理解更加深入。最后自然过度到设计模式本身,你会发现一切都是那么自然。
zherop
软件工程师,爱看动漫
展开
-
开篇:为什么要学设计模式
为什么要学设计模式?为了自己写好代码;为了看懂别人的代码。原创 2022-07-31 16:10:23 · 531 阅读 · 0 评论 -
窥全局:速记23种设计模式
23种设计模式速记原创 2022-07-31 16:19:08 · 214 阅读 · 0 评论 -
工厂模式:关于一个工厂的故事
话说有一个生产电视机的工厂,可以生产海信电视机、海尔电视机。原创 2022-07-31 16:32:11 · 293 阅读 · 0 评论 -
抽象工厂模式:一个工厂的故事续集
抽象工厂模式定义提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。涉及的两个概念(1)产品等级结构产品的继承结构。比如故事中的TV、HuaweiTV、HonorSmartTV、XiaomiTV就是一个产品等级结构,总共有3个产品等级结构(2)产品族由同一个工厂生产的,位于不同产品等级结构中的一组产品。比如故事中的HuaweiFactory生产的HuaweiTV、HuaweiPC、HuaweiSmartPhone就是一个产品族,总共有3个产品族。......原创 2022-07-31 16:38:01 · 180 阅读 · 0 评论 -
建造者模式:一个打工人的一天
建造者模式定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。抽象建造者(Builder)为创建一个产品对象的各个部件定义抽象接口,一般会有两类方法一类是buildPartXXX(),由于创建各个部件,一类是方法是getResult(),返回复杂产品对象。抽象建造者可以是抽象类,也可以是接口。比如故事中的AbstractSubMealABuilder。具体建造者(ConcreteBuilder)实现抽象建造者定义的接口,即实现各个部件的具体创建。...原创 2022-07-31 16:43:10 · 152 阅读 · 0 评论