2024年设计模式与原则:设计模式与原则有哪些
策略 2024年11月25日 01:29:45 3399youxi
设计模式的设计原则
1、设计模式分为三种类型,共23种。 创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。 结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
2、在1987年秋季,Ian Holland于美国Northeastern University提出的一种设计原则,后来被UML创始人之一Booch等人推广,因其在《The Pragmatic Programmer》一书中的广泛应用而广为人知。这就是著名的迪米特法则,也称为最少知识原则(LOD)。
3、合成复用原则主张少用继承,多用组合或聚合关系。避免因改动一处代码而影响整个系统,提倡针对接口编程,减少依赖,提高灵活性和扩展性。理解了这些原则,设计模式就显得更加清晰了。就像张无忌学习太极拳,不执着于招式,而是理解其内在原理,设计模式也是如此。
4、接口隔离原则(ISP)客户端不应该被迫实现他们不会使用的接口。应将胖接口中的方法分组,并使用多个接口替代它,每个接口服务于一个子模块。 依赖倒置原则(DIP)抽象不应依赖于细节,细节应依赖于抽象。换句话说,应针对抽象(接口)编程,而不是针对实现细节编程。
5、在开始之前,了解一些前提条件至关重要。设计模式是资深程序员在实践中总结的宝贵经验,有助于构建更易于修改和维护的软件。然而,不应盲目追求使用设计模式,避免过度复杂化代码。简单如打印Hello World的任务,使用直接的函数实现通常更为高效。
6、未遵循原则设计导致几维鸟飞行时间计算出错,出现异常。正确做法是定义更一般化的父类“动物”,包含奔跑功能,几维鸟继承后保持飞行速度为0,而奔跑速度不为0,从而解决时间计算问题。里氏代换原则的优点在于提高代码复用性、降低耦合性,使系统设计更灵活、易于维护。
软件设计原则有哪些
软件设计原则五大原则是:依赖倒置原则;开放封闭原则;接口隔离原则;单一职责原则;迪米特法则。
用户为中心原则 在软件设计过程中,必须始终以用户的需求和体验为核心。这意味着软件的设计、功能、界面和操作方式都应该围绕用户的需求和习惯展开,确保用户可以轻松、愉快地使 用软件。简洁性和直观性原则 软件设计应该追求简洁明了,避免不必要的复杂性和混乱。
完成良好的软件设计应遵循以下原则: 用户体验至上 良好的软件设计首先要关注用户体验。这意味着软件应该易于使用,直观且高效。设计师需要考虑用户的需求和习惯,确保软件功能易于理解和操作。同时,软件界面应该美观、友好,以提高用户的满意度和忠诚度。
设计模式—迪米特原则(LOD)
1、迪米特原则的优点在于,它有助于提高代码的可维护性和可测试性,降低系统的复杂性和依赖性。然而,这也可能需要增加中介处理房源筛选的工作量,可能导致一定程度上的性能开销。因此,设计师在实际应用中需要权衡其优缺点,以适应特定的项目需求。
2、迪米特原则(Law of Demeter,LoD),也叫最少知识原则(Low knowledge Principle,LKP):一个对象应该对其他对象有最少的了解。迪米特原则对类的低耦合提出了明确的要求:迪米特原则还有一个解释:Only talk to your immediate friends(只与直接朋友通信)。
3、设计模式的六大原则有:把这六个原则的首字母联合起来(两个 L 算做一个)就是 SOLID (solid,稳定的),其代表的含义就是这六个原则结合使用的好处:建立稳定、灵活、健壮的设计。下面我们来看一下迪米特法则。
【设计模式】六、面向对象设计原则之依赖倒置原则
在面向对象设计中,依赖倒置原则(Dependency Inversion Principle,DIP)是一种关键原则,它强调高层模块不应该直接依赖底层模块,而是通过抽象接口或抽象层进行交互。这与传统自顶向下设计方法不同,传统设计中,模块间的耦合紧密,高层对底层有直接依赖,任何改动可能波及广泛,维护困难。
设计模式六大原则为:单一职责原则、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则。单一职责原则:不要存在多余一个导致类变更的原因,即一个类只负责一个职责。开闭原则:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。
设计模式六大原则:单一职责原则,实现类要职责单一;里氏替换原则,不要破坏继承体系;依赖倒置原则,要面向接口编程;接口隔离原则,在设计接口的时候要精简单一;迪米特原则,要降低耦合;开闭原则,要对扩展开放,对修改关闭。(用抽象构建架构,用实现扩展原则)。
依赖倒置原则要求高层模块应依赖抽象,而不是具体实现,以此提高系统的灵活性和扩展性。此原则鼓励面向抽象编程,减少了对具体实现的依赖。接口隔离原则强调为每个类设计专用接口,避免庞大接口的使用,提高了代码的灵活性和可维护性。接口隔离原则有助于预防外来变更的扩散。
为什么称为“倒置”?传统软件开发中,如结构化分析和设计,通常采用自顶向下的设计方法,即高层模块依赖于低层模块,策略模块依赖于细节。然而,在面向对象设计中,依赖关系则与之相反。
在运用面向对象的思想进行软件设计时,需要遵循的原则一共有7个,他们是: 单一职责原则(Single Responsibility Principle)每一个类应该专注于做一件事情。 里氏替换原则(Liskov Substitution Principle)超类存在的地方,子类是可以替换的。
六大设计原则(SOLID)
设计模式的六大原则有:把这六个原则的首字母联合起来(两个 L 算做一个)就是 SOLID (solid,稳定的),其代表的含义就是这六个原则结合使用的好处:建立稳定、灵活、健壮的设计。下面我们来看一下迪米特法则。
六大设计原则之接口隔离原则(ISP)上层模块不应该依赖底层模块,它们都应该依赖于抽象。 抽象不应该依赖于细节,细节应该依赖于抽象。
SOLID,全称为Software design principles: [S]RP, [O]CP, [L]SP, [I]SP, [D]IP的英文缩写,中文直译为“软件设计原则”。这个缩写词代表了五个重要的设计原则,分别是单一职责原则(SRP)、开放封闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)和依赖倒置原则(DIP)。
Solid, 在计算机科学领域中,是一个重要的设计原则集合,由五个核心概念组成。首先,单一职责原则强调类应专注于执行单一任务,确保代码的模块化和清晰性。其次,开放封闭原则提倡软件设计的灵活性,允许对其进行扩展而不必修改其原有功能。
面向对象编程领域,SOLID原则(单一功能、开闭原则、里氏替换、接口隔离以及依赖反转)是由罗伯特·C·马丁在21世纪早期提出的五个基本原则。遵循这些原则,程序员能够开发出易于维护和扩展的系统。
在软件设计中,SOLID原则是评判代码质量和模块化的重要标准。它由SRP、OCP、LSP、ISP和DIP五个原则组成,旨在提高代码的可读性、可维护性和扩展性。SRP(职责单一原则)强调一个类或模块应只负责一个职责,避免设计过大且功能杂乱的类。