设计模式相关的原则
1、开-闭原则(策略模式)
开闭原则:一个软件实体应当对扩展开放,对修改关闭。换句话说,就是在设计一个模块的时候,应当可以在不必修改源代码的情况下改变这个模块的行为。
实现开闭原则的关键在于抽象化
2、里氏替换原则
里氏替换原则,指的是任何基类可以出现的地方,子类都可以出现。
例如:
假设有两个类,一个是Base类,另一个是Derived类,并且Derived类是Base类的子类,那么一个方法如果可以接受一个基类对象b的话,method(Base b),那边它肯定可以接受一个子类对象d,即可以有method(d)。反过来替换则不成立。
3、依赖倒转原则:
依赖倒转原则,指的是要依赖于抽象,不要依赖于实现。另一种表述:要针对接口编程,不要针对实现编程。
如何做到依赖倒转原则:以抽象的方式耦合,来实现。(工厂方法模式)
4、合成/聚合复用原则
合成/聚合复用原则,讲的是,要尽量使用合成/聚合,而不要使用继承关系达到复用的目的。
聚合:表示一种弱的“拥有”关系,表示A中包含B,但B不是A的一部分。例如,雁群和大雁的关系。
合成:表示一种强的“拥有”关系,表示严格的部分和整体的关系,部分和整体拥有一样的生命周期。
例如:鸟和翅膀的关系。
5、迪米特法则
讲的是,一个软件实体应当与尽可能少的其他实体发生现在作用。
6、接口隔离原则
讲的的是,应当为客户端提供尽可能小的单独的接口,而不是提供大的总接口。
7、Has-A 与Is-a的区分。
Is-A:代表一类是另一类的“一种”。(使用继承关系)
Has-A:代表一类是另一类的一个角色,而不是另一类的一个特殊种类。(使用聚合关系或引用的关系)
相关推荐
1. **设计原则**:面向对象设计模式的基础,如单一职责原则(SRP)、开放封闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)和依赖倒置原则(DIP)。这些原则指导我们编写可维护、可扩展的代码。 2. **常见设计模式*...
设计模式原则:单一职责原则,里氏替换,依赖倒转,接口隔离,开放关闭等等。
在本篇讨论中,我们将深入探讨面向对象设计模式的基本概念,以及在C#中应用这些模式的关键原则。 首先,我们需要理解面向对象设计的基本原则,这些原则是设计模式的基础。它们包括: 1. 单一职责原则(SRP):一个...
在软件开发领域,设计模式和原则是至关重要的概念,它们为开发者提供了可重用的解决方案,以应对常见的设计问题。本文将深入探讨GRASP(一般 Responsibility Assignment Software Patterns,职责分配原则)以及设计...
24种设计模式介绍与6大设计原则24种设计模式介绍与6大设计原则
在这些设计模式和原则中,策略模式是一个非常重要的行为型设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以相互替换使用。策略模式让算法的变化独立于使用算法的客户端。 以提供的文档内容为例,...
设计模式是软件开发中的一种最佳实践,它基于一套核心原则来指导我们编写可维护、可扩展的代码。在这篇文章中,我们将深入探讨设计模式的六大原则,这些原则是理解并有效应用设计模式的基础。 首先,我们要了解“开...
面向对象设计模式是软件工程领域一个非常重要的主题,它不仅涉及如何组织代码、构建系统,还关乎如何确保软件系统的灵活性、可扩展性和可维护性。本文将深入探讨面向对象设计中的核心原则,并通过具体示例来阐述这些...
详细介绍了设计模式六大原则,配有示例代码和图片,有开闭原则,单一职责原则,里氏替换原则,依赖倒置原则,接口隔离原则,迪米特法则等等。
本文件《设计模式与设计原则.pdf》中,将详细地探讨设计模式以及与之相关的六大设计原则。 首先,设计模式主要分为三类: 1. 创建型模式(Creational patterns):这些模式提供了一种在创建对象的同时隐藏创建逻辑...
面向对象设计原则:面向对象设计原则、开闭原则、里氏替换原则、里氏替换原则、里氏替换原则
### 设计模式与GRASP原则详解 #### 一、设计模式概述 设计模式是指在软件设计过程中,针对一些常见问题的解决方案。它并不是一个具体的代码片段或者类库,而是一种解决问题的思想方法。设计模式能够帮助开发者更好...
这个PDF文档“24种设计模式介绍与6大设计原则”旨在帮助开发者理解和应用这些模式,提高代码的可维护性和可扩展性。以下是其中的主要内容: 一、设计原则 1. 单一职责原则:一个类或模块应只有一个引起其变化的原因...
JAVA设计模式-原则和23种设计模式归纳总结 本资源主要介绍了JAVA设计模式的原则和23种设计模式的总结。设计模式是软件设计中的一种解决方案,能够使软件系统更加灵活、可维护和可扩展。本资源首先介绍了设计模式的...
在Android开发中,设计模式和设计原则是提升代码质量、可维护性和可扩展性的重要工具。以下是关于"Android 24种设计模式介绍与6大设计原则"的详细阐述: 一、六大设计原则 1. **单一职责原则(Single ...
设计模式6大原则:开闭原则