
设计模式
文章平均质量分 94
丁川
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
结构型设计模式--装饰模式
装饰模式可以在不改变一个对象本身功能的基础上给对象增加额外的新行为。在现实生活中,这种情况也到处存在。例如一张照片,可以不改变照片本身,给它增加一个相框,使得它具有防潮的功能,而且用户可以根据需要给它增加不同类型的相框,甚至可以在一个小相框的外面再套一个大相框。**装饰模式是一种用于替代继承的技术,它通过一种无须定义子类的方式来给对象动态增加职责,使用对象之间的关联关系取代类之间的继承关系。**在装饰模式中引入了装饰类,在装饰类中既可以调用待装饰的原有类的方法,还可以增加新的方法,以扩充原有类的功能。原创 2024-09-05 21:54:18 · 1310 阅读 · 0 评论 -
结构型设计模式—外观模式
根据单一职责原则,在软件中将一个系统划分为若干个子系统(subSystem)有利于降低整个系统的复杂性。一个常见的设计模式是使客户端与子系统之间的通信和相互依赖的关系达到最小,而达到该目前的途径之一就是引入一个外观(Facade)角色,它为子系统的访问提供了一个简单而单一的入口。外观模式也是迪米特法则的体现,通过引入一个新的外观角色可以降低原有系统的复杂度,同时降低客户类与子系统类的耦合度。如果没有外观角色,每个客户端可能需要和多个子系统之间进行复杂的交互,系统的耦合度将很大,如图所示。原创 2024-09-05 21:49:31 · 1462 阅读 · 0 评论 -
结构型设计模式—组合模式
对于树形结构,当容器对象(例如文件夹)的某一个方法被调用时,将遍历整个树形结构,寻找也包含这个方法的成员对象(可以是容器对象,也可以是叶子对象)并调用执行,牵一而动百,其中使用了递归调用的机制来对整个结构进行处理。由于容器对象和叶子对象在功能上的区别,在使用这些对象的代码中必须有区别地对待容器对象和叶子对象,而实际上大多数情况下希望一致地处理它们,因为对于这些对象的区别对待将会使得程序非常复杂。组合模式为解决此类问题而诞生,它可以让叶子对象和容器对象的使用具有一致性。原创 2024-09-03 22:54:01 · 1099 阅读 · 0 评论 -
结构型设计模式—桥接模式
桥接模式是一种很实用的结构型设计模式。如果软件系统中某个类存在两个独立变化的维度,通过该模式可以将这两个维度分离出来,使两者可以独立扩展,让系统更加符合单一职责原则。与多层继承方案不同,它将两个独立变化的维度设计为两个独立的继承等级结构,并且在抽象层建立一个抽象关联,该关联关系类似一条连接两个独立继承结构的桥,故名桥接模式。桥接模式用一种巧妙的方式处理多层继承存在的问题。原创 2024-09-03 22:52:48 · 1359 阅读 · 0 评论 -
创建型模式--抽象工厂模式
抽象工厂模式为创建一组对象提供了一种解决方案。与工厂方法模式相比,抽象工厂模式中的具体工厂不只是创建一种产品,它负责创建一族产品。抽象工厂模式定义如下:抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,它是一种对象创建型模式。在抽象工厂模式中,每个具体工厂都提供了多个工厂方法用于产生多种不同类型的产品,这些产品构成了一个产品族。抽象工厂模式结构如图所示。原创 2024-06-17 22:55:33 · 1242 阅读 · 0 评论 -
创建型模式--工厂方法模式
在工厂方法模式中,不再提供一个统一的工厂类来创建所有的产品对象,而是针对不同的产品提供不同的工厂,系统提供一个与产品等级结构对应的工厂等级结构。工厂方法模式定义如下:工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,让子类决定将哪一个类实例化。工厂方法模式让一个类的实例化延迟到其子类。原创 2024-06-17 22:53:26 · 1010 阅读 · 0 评论 -
创建型模式--简单工厂模式
简单工厂模式定义如下:简单工厂模式(Simple Factory Pattern):定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态(static)方法,因此简单工厂模式又被称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。简单工厂模式的要点在于:当你需要什么,只需要传入一个正确的参数,就可以获取你所需要的对象,而无须知道其创建细节。原创 2024-06-17 22:52:28 · 1125 阅读 · 0 评论 -
面向对象设计原则概述
内容来自《设计模式与艺术》一文。后续会陆续分享书中值得深思观点。原创 2024-06-11 22:26:36 · 1014 阅读 · 0 评论 -
UML精简概述
UML是英文 Unified Modeling Language 的缩写,简称UML(统一建模语言),它是一种由一整套图组成的标准化建模语言,用于帮助系统开发人员阐明、设计和构建软件系统。UML 的这一整套图被分为两组,一组叫结构性图,包含类图、组件图、部署图、对象图、包图、组合结构图、轮廓图;一组叫行为性图,包含用例图、活动图(也叫流程图)、状态机图、序列图、通信图、交互图、时序图。其中类图是应用最广泛的一种图,经常被用于软件架构设计中。原创 2024-06-11 22:25:05 · 1331 阅读 · 0 评论 -
设计模式实战(单例模式)
设计模式实战👾设计模式demo实战。项目地址:https://github.com/bearbrick0/designpattern🫑创建型设计模式创建型的设计模式包括:单例模式、工厂模式、建造者模式、原型模式。它主要解决对象的创建问题。封装复杂的问题,解耦对象创建代码和使用代码。🥦单例设计模式在有些系统中,为了节省内存资源、保证数据内容的一致性,对某些类要求只能创建一个实例,这就是所谓的单例模式。例如,Windows 中只能打开一个任务管理器,这样可以避免因打开多个任务管理器窗口而造成内存原创 2022-04-27 08:31:34 · 393 阅读 · 0 评论 -
设计模式概述(一)
设计模式概述设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。1995 年,GoF(Gang of Four,四人组/四人帮)合作出版了《设计模式:可复用面向对象软件的基础》一书,共收录了 23 种设计模式,从此树立了软件设计模式领域的里程碑,人称「GoF设计模式」。这 23 种设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性,以及类的原创 2022-04-26 19:56:10 · 105 阅读 · 0 评论 -
设计模式实战
设计模式实战????设计模式demo实战。项目地址:https://github.com/bearbrick0/designpattern????创建型设计模式????单例设计模式????懒汉模式实现单例模式懒汉式(多线程下线程不安全)(具体参考com/uin/creationPattern/Singleton/LazyBones/LazyMan)这种方式在单线程的环境下使用,对于多线程是无法保证单例...原创 2022-04-25 20:39:00 · 277 阅读 · 0 评论