开闭原则(Open-Closed Principle):
对扩展开放,对修改关闭。要点在于抽象,通过抽象出类或接口,使得不同功能可以通过细化子类或接口实现去完成,达到了功能扩展,而有尽量不影响原有功能代码。
单一职责原则(Single Responsibility Principle ):
一个类,最好只有一个职责,所谓职责,就是引起类(对象)行为变化的原因,如果一个类有很多职责,那么导致对象行为变化的原因就会很多,这样就有可能导致设计混乱,易出现bug,如果一个职责发生变化就会导致整个类都要被修改,这会违背开闭原则.单一职责原则确保了类功能的高内聚性。
里氏代换原则(Liskov Substitution Principle):
某段功能代码使用的是一个父类对象的话,那么用其子类对象去代替父类对象之后,功能代码是能够完全正常使用,不会察觉出对象的变化。换而言之,任何基类可以出现的地方,子类一定可以出现。而里氏代换原则,则是实现抽象复用的基础。通过里氏代换原则的抽象处理,则能更大程度的保证开闭原则。
依赖倒置原则(Dependence Inversion Principle ):
抽象不应该依赖于细节,细节应该依赖于抽象。
高层模块不依赖底层模块,两者都依赖抽象。
程序中所有的依赖关系都应该终止与抽象类或者接口,则有:
1.任何变量都不应该持有一个指向具体类的指针或者引用
2.任何类都不应该从具体类派生
3.任何方法都不应该覆写它的任何基类中的已经实现了的方法
当然每个程序中都会有违反该启发原则的情况.有时候要创建具体类的实例,而创建这些实例的模块将会依赖于它们.此外,该启发原则对于那些虽是具体但却稳定的类来说似乎不太合理.如果一个具体类不会改变,并且也不会创建其他类似的派生类,那么依赖于它并不会造成损害.
迪米特法则(Law of Demeter ):
又叫最少知识法则。就是说一个对象应当对其他对象尽可能少的了解,如果两个对象直接不发生关系,那么就不应该一个直接请求另一个,而只应该第三方去请求服务。目的在于降低类之间的耦合关系。如果每个类尽量减少对其他类的依赖,那么系统的功能模块功能就会相对独立,这样的话系统间存在尽可能少的依赖关系,最终达到松耦合的目的。
分享到:
相关推荐
Java设计模式菜鸟系列教程 本教程对Java 23种设计模式进行了总结,涵盖了策略模式、观察者模式、装饰者模式、工厂方法模式、抽象工厂模式、单例模式、命令模式、适配器模式、外观模式、模板方法模式、迭代器模式、...
24种设计模式介绍与6大设计原则希望这本书的阅读者具备最基本的代码编写能力,您是一个初级的 coder,可以从中领会到怎么设计 一段优秀的代码;您是一个高级程序员,可以从中全面了解到设计模式以及 Java 的边角技术...
在这个"菜鸟教程设计模式之工厂模式代码整理"中,我们将深入探讨工厂模式的基本概念、结构以及如何在实际编程中应用。 工厂模式的核心思想是通过一个专门的工厂类来创建对象,而不是让客户端代码直接实例化具体的...
本资源“设计模式学习经典篇之菜鸟篇”旨在为初学者提供一个全面而通俗易懂的设计模式学习路径。 设计模式的核心在于重用已验证的解决方案,以提高代码的可读性、可维护性和可扩展性。根据GOF(Gamma, Helm, ...
设计模式(菜鸟到高手)
设计模式(Design pattern)是一套被反复使用、...本章系Java之美[从菜鸟到高手演变]系列之设计模式,我们会以理论与实践相结合的方式来进行本章的学习,希望广大程序爱好者,学好设计模式,做一个优秀的软件工程师!
在这个“菜鸟教程设计模式之工厂模式代码整理(反射机制改进版)”中,我们主要探讨的是如何利用Java的反射机制来进一步增强工厂模式的功能。 首先,理解工厂模式的基本概念。工厂模式属于创建型设计模式,它提供了...
该书可能涵盖了多种设计模式,包括创建型、结构型和行为型三大类。创建型设计模式如单例模式、工厂方法模式、抽象工厂模式等,它们关注的是对象的创建过程,使得代码更加灵活,易于维护和扩展。结构型设计模式如...
设计模式是软件工程中的一种最佳实践,用于解决在软件开发过程中常见的问题,提供了一套可重用的解决方案。这些模式都是经验丰富的软件开发者在长期实践中总结出来的,它们可以帮助我们写出更加灵活、可维护和可扩展...
23种设计模式在Java开发中尤为常见,分为三大类:创建型模式、结构型模式、行为型模式。 单例模式(SingletonPattern): 单例模式是创建型模式之一,目的是确保一个类仅有一个实例,并提供一个全局访问点。单例...
而“C嵌入式编程设计模式”这一主题,旨在探讨如何利用C语言进行高效且可靠的嵌入式系统编程,通过采用经典的设计模式来提升代码的可读性、可维护性和可扩展性。以下将详细阐述相关知识点。 1. **状态机**:状态机...
设计模式(Design pattern)是一套被反复使用、...本章系Java之美[从菜鸟到高手演变]系列之设计模式,我们会以理论与实践相结合的方式来进行本章的学习,希望广大程序爱好者,学好设计模式,做一个优秀的软件工程师!
简单例子说明了java的23种设计模式的原理,方便大家进行程序开发,对于入门级选手(我也是初学者)有很大的帮助
本资源包含的"C#23种设计模式【完整】(亲测可用)"涵盖了软件设计中的经典模式,这些模式都是经过实践检验的有效解决方案,旨在帮助开发者更好地理解和应用设计原则。 1. 工厂模式(Factory Pattern):提供一个创建...
深入浅出设计模式(Head First Design Patterns)完整版,由本人精心整理网上的JPG版制作成PDF版供各位编程爱好者下载学习,这部模式教程诙谐幽默,寓教于乐,实乃菜鸟成才必备之选。共分为11个压缩包,绝对的物有所值...
设计模式是软件开发中的一种重要概念,它是一套经过验证的、通用的解决方案,用来解决在软件设计过程中频繁出现的问题。设计模式的种类主要分为三类:创建型模式、结构型模式和行为型模式。 创建型模式关注的是对象...
单例模式是软件设计模式中的一种基础模式,用于确保一个类只有一个实例,并提供一个全局访问点。在Java中,单例模式的实现有很多种方式,包括懒汉式、饿汉式、双重检查锁定(DCL)等。下面我们将深入探讨这些实现...
以下是对标题和描述中提到的设计模式及相关原则的详细解释: 1. **开放——封闭原则(OCP)**: 开放封闭原则指出,软件实体(如类、模块或函数)应该对扩展开放,对修改关闭。这意味着在需求变化时,应尽量通过...
java常用的设计模式一个简单总结,如工厂模式、单例模式、代理模式等等。(楼主也是未入门的菜鸟,如有错误请及时联系楼主更正,谢谢!)