摘要: 简介 迪米特法则(Law of Demeter,LoD),也称为最少知识原则(Principle of Least Knowledge),是面向对象设计中的一个重要原则。它强调了一个对象应该对其他对象有尽可能少的了解,也就是说,一个对象不应该直接与其它对象进行过多的交互。简而言之,一个对象应该对其他 阅读全文
posted @ 2024-02-29 16:55 咸鱼翻身? 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 简介 依赖倒置原则(Dependency Inversion Principle,DIP)是面向对象设计中的一个重要原则,它强调了高层模块不应该依赖于低层模块,二者都应该依赖于抽象;而且抽象不应该依赖于具体实现细节,具体实现细节应该依赖于抽象。简而言之,高层模块和低层模块都应该依赖于抽象,而不是依赖 阅读全文
posted @ 2024-02-29 16:45 咸鱼翻身? 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 简介 接口隔离原则(Interface Segregation Principle,ISP)是面向对象设计中的一项原则,它强调一个类对另一个类的依赖应该建立在最小的接口上,而不是依赖于不需要的接口。换句话说,一个类不应该强迫其他类依赖它们不需要的方法。 主要思想: 接口粒度:接口应该具有最小的粒度, 阅读全文
posted @ 2024-02-29 16:40 咸鱼翻身? 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 简介 里氏替换原则(Liskov Substitution Principle,LSP)是面向对象设计中的一个重要原则,由芭芭拉·利斯科夫(Barbara Liskov)在1987年提出。它是继承原则的一种深化和发展,强调子类必须能够替换掉父类并且不影响程序的正确性。 里氏替换原则的定义为:“如果对 阅读全文
posted @ 2024-02-29 16:31 咸鱼翻身? 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 简介 开闭原则(Open/Closed Principle)是面向对象设计中的一个重要原则,由勃兰特·梅耶(Bertrand Meyer)于1988年提出。该原则指导着设计者编写易于扩展和维护的软件系统。 开闭原则的定义为:“软件中的对象(类、模块、函数等)应该对扩展开放,对修改关闭。”简而言之,这 阅读全文
posted @ 2024-02-29 16:22 咸鱼翻身? 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 简介 单一职责原则(Single Responsibility Principle,SRP)是面向对象设计中的一个重要原则,它强调一个类应该只有一个责任。换句话说,一个类应该只有一个引起它变化的原因。这个原则最初由Robert C. Martin在他的著作《敏捷软件开发:原则、模式与实践》(Agil 阅读全文
posted @ 2024-02-29 16:13 咸鱼翻身? 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 简介 访问者模式(Visitor Pattern)是一种行为型设计模式,用于在不改变被访问元素的类的前提下,定义对这些元素的新操作。该模式通过将算法与数据结构分离,使得可以在不修改数据结构的情况下,增加新的操作。 结构 访问者(Visitor):定义了对于每个元素类所要执行的操作。这些操作可以是不同 阅读全文
posted @ 2024-02-29 15:14 咸鱼翻身? 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 简介 模板方法模式(Template Method Pattern)是一种行为设计模式,它定义了一个操作中的算法的骨架,将一些步骤延迟到子类中实现。这样,可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 结构 抽象类(Abstract Class):定义了一个模板方法,其中包含算法的骨架,以 阅读全文
posted @ 2024-02-29 14:44 咸鱼翻身? 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 简介 策略模式(Strategy Pattern)是一种行为设计模式,它允许在运行时选择算法的行为。这种模式定义了一系列算法,将每个算法封装起来,并使它们可以相互替换。策略模式使得算法可以独立于其使用者而变化,使得使用者可以根据需要在运行时选择适当的算法。 以下是策略模式的一般结构和示例代码: 结构 阅读全文
posted @ 2024-02-29 14:33 咸鱼翻身? 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 简介 状态模式(State Pattern)是一种行为型设计模式,它允许对象在内部状态发生改变时改变它的行为。这种模式把对象的状态从对象中分离出来,将不同状态下的行为封装到不同的状态类中,使得状态转换时可以简化对象的行为控制,并且使得状态间的切换更加灵活。 结构 Context(上下文):维护一个状 阅读全文
posted @ 2024-02-29 14:21 咸鱼翻身? 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 简介 观察者模式(Observer Pattern)是一种行为型设计模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听并且被自动通知某一个主题对象的状态变化,以便做出相应的反应。 结构 观察者模式包括以下几个角色: Subject(主题):被观察的对象,它维护了一系列观察者对象,并提供添加 阅读全文
posted @ 2024-02-29 13:57 咸鱼翻身? 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 简介 备忘录模式(Memento Pattern)是一种行为型设计模式,它允许在不暴露对象实现细节的情况下捕获并保存其内部状态,以后可以将其恢复到先前的状态。备忘录模式通常用于需要在不破坏封装性的情况下保存和恢复对象状态的情景。 结构 备忘录模式包括以下几个角色: Originator(原发器):负 阅读全文
posted @ 2024-02-29 13:41 咸鱼翻身? 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 简介 中介者模式(Mediator Pattern)是一种行为型设计模式,旨在减少对象之间的直接通信,通过引入一个中介对象来促进对象之间的松耦合通信。在这种模式中,对象之间不再直接相互引用,而是通过中介者对象来进行通信。 中介者模式通常包含以下几个角色: 中介者(Mediator):负责定义接口,用 阅读全文
posted @ 2024-02-29 13:21 咸鱼翻身? 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 简介 迭代器模式是一种行为型设计模式,它用于提供一种顺序访问聚合对象(如列表、集合、数组等)中的元素,而不需要暴露该对象的内部表示。这种模式将迭代操作从聚合对象中分离出来,使得可以在不同的聚合对象上使用相同的迭代逻辑。 在迭代器模式中,通常会有两个主要角色: 迭代器(Iterator):定义了一种顺 阅读全文
posted @ 2024-02-29 11:06 咸鱼翻身? 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 简介 解释器模式(Interpreter Pattern)是一种行为设计模式,用于定义一种语言的语法,并提供一个解释器来解释该语言中的表达式。这种模式通常用于处理特定类型的问题,例如解释一种特定的语言或表示法。 结构 解释器模式通常包含以下角色: 抽象表达式(Abstract Expression) 阅读全文
posted @ 2024-02-29 10:50 咸鱼翻身? 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 简介 命令模式是一种行为设计模式,它允许将请求或操作封装为单独的对象。这些请求可以被参数化,队列化,记录日志,以及支持撤销操作。 以下是命令模式的几个关键角色: 命令(Command):抽象命令接口,定义了执行命令的方法,通常包含一个 execute() 方法。 具体命令(Concrete Comm 阅读全文
posted @ 2024-02-29 09:31 咸鱼翻身? 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 简介 职责链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许你将请求沿着处理者链进行传递,直到有一个处理者能够处理它为止。这种模式允许多个对象都有机会处理请求,避免了发送者和接收者之间的耦合关系。 结构 Handler(处理者):定义处理请求的接口,并 阅读全文
posted @ 2024-02-29 09:14 咸鱼翻身? 阅读(2) 评论(0) 推荐(0) 编辑