首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

程序员必知!2024最新版设计模式大合集

程序员必知!2024最新版设计模式大合集 - 程序员古德

核心思想:在设计中,应尽量通过添加新的类或模块来增加新的功能,而不是修改现有的代码。

核心思想:高层模块不应该依赖于低层模块,它们都应该依赖于抽象;抽象不应该依赖于细节,细节应该依赖于抽象。

核心思想:客户端不应该被强制依赖于它不需要的接口,接口应该小而专一。

核心思想:一个对象应当对其他对象保持最少的了解,即降低类之间的耦合度,提高模块的相对独立性。

核心思想:子类必须能够替换其父类并且不影响程序的行为。

核心思想:一个类只应该有一个引起变化的原因,从而提高类的可维护性和可复用性。

程序员必知!2024最新版设计模式大合集 - 程序员古德

核心思想:提供了一种方式来封装一系列具有共同主题的单个工厂,而不需要指定它们具体的类,从而达到解耦、提高可扩展性的目的。

核心思想:分步骤地创建一个复杂对象,通过将其构造过程与表示分离,使得同样的构建过程可以创建不同的表示。

核心思想:通过复制(或克隆)一个已经存在的对象来返回一个新对象,而无需重新实例化,从而提高性能和资源利用率。

核心思想:对象以链式的方式处理请求,直到链中的某个对象决定处理该请求为止,从而实现了请求的发送者和接收者之间的解耦。

核心思想:将请求封装为一个对象,从而使你可用不同的请求把客户端参数化,对请求排队或记录请求日志,以及支持可撤销的操作。

核心思想:提供了一种方法来顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示,从而支持对聚合对象的多种遍历。

核心思想:用一个中介对象来封装一系列的对象交互,使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。

核心思想:允许在不违反封装性的前提下捕获一个对象的内部状态,并在该对象之外保存这个状态,以后可以恢复对象到这个状态。

核心思想:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,当主题对象状态发生变化时,它的所有依赖者(观察者)都会自动收到通知并更新。

核心思想:允许一个对象在其内部状态改变时改变它的行为,让对象看起来就像改变了它的类一样。

核心思想:在一个方法中定义了一个算法的骨架,允许子类在不改变算法结构的情况下,重新定义算法中的某些步骤。

核心思想:允许你在不改变各元素类的前提下定义作用于这些元素的新操作,从而将操作与元素类的结构分离。

核心思想:能在运行时改变对象的行为,通过定义一系列的算法,并将每一个算法封装起来,使它们可以互相替换,从而让算法独立于使用它的客户端。

核心思想:允许将一个类的接口转换成客户端所期望的另一个接口,从而使得原本因接口不兼容而无法一起工作的类能够协同工作。

核心思想:将抽象部分与它的实现部分分离,使它们都可以独立地变化,从而实现解耦,提高系统的灵活性和可扩展性。

核心思想:允许你将对象组合成树形结构来表现“部分-整体”的层次结构,使得客户端对单个对象和复合对象的使用具有一致性。

核心思想:允许你通过在运行时添加新的行为来动态地扩展对象的功能,而无需修改其结构,从而实现了功能的灵活组合和重用。

核心思想:为子系统中的一组接口提供了一个统一的高层接口,使得子系统更加容易使用,降低了客户端与子系统的耦合度。

核心思想:通过共享技术来有效地支持大量细粒度的对象,从而减少创建对象的数量,节省内存空间,提高系统性能。

核心思想:它为其他对象提供一种代理以控制对这个对象的访问,从而可以在不修改原对象的基础上增加额外的功能或控制访问权限。

核心思想:定义了一个用于创建对象的接口,但让子类决定实例化哪一个类,从而使一个类的实例化延迟到其子类进行,实现了创建对象的解耦和灵活扩展。

核心思想:提供了一种方法,用于定义语言的文法,并建立一个解释器来解释该语言中的句子,从而实现了一个简单的语言解释器。

核心思想:确保一个类只有一个实例,并提供了一个全局访问点来访问该实例,从而避免了频繁地创建和销毁对象,节省了系统资源。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O12pYwjSzYNyH1gj62THrfmw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券