六大设计原则
说到设计模式就不得不说设计模式的六大设计原则;
1. 单一职责原则 (SRP :Single responsibility principle)
2. 里氏替换原则 (LSP :Liskov Substitution Principle)
3. 依赖倒置原则 (DIP :Dependency inversion principle)
4. 接口隔离原则 (ISP :interface-segregation principles)
5. 迪米特法则 (LKP :Least Knowledge Principle)
6. 开放-封闭原则(OCP :Open Closed Principle)
以上是设计模式的六大原则,下面是实战总结的几点(以后会补充):
- 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起
解释:把会变化的部分取出并“封装”起来,好让其它部分不受到影响。
结果:代码变化引起不经意后果变少,系统变得更有弹性
- 针对接口编程,而不是针对实现编程
- 多用组合,少用继承
例子如下:
public abstract calss Duck {
FlyBehavior flyBehavior;
QuackBehavior quackBehavior;
public abstract void display();
public void performFly() {
flyBehavior.fly();
}
public void performQuack() {
quackBehavior.quack();
}
public void swim() {
System.out.println("All ducks float.");
}
//设置两个set方法,用来进行设置不同的行为
public void setFlyBehavior(FlyBehavior fb) {
flyBehavior = fb;
}
public void setQuackBehavior(QuackBehavior qb) {
quackBehavior = qb;
}
}
public interface FlyBehavior {
public void fly();
}
public class FlyWithWings implements FlyBehavior {
public void fly() {
System.out.println("I'm Flying!");
}
}
public interface QuackBehavior {
public void quack();
}
public class Quack implents QuackBehavior {
public void quack() {
System.out.println("Quack");
}
}
public class ModelDuck extends Duck {
public ModelDuck() {
flyBehavior = new FlyWithWings();
quackBehavior = new Quack();
}
public void display() {
System.out.println("I'm a model duck!");
}
}
public class Test {
public static void main(String[] args) {
Duck duck = new ModelDuck();
duck.performQuack();
duck.performFly();
}
}
相关推荐
作者提到他“可以扩展多种‘蝉’”,这暗示了设计模式中的开闭原则(Open/Closed Principle),即软件实体应该对扩展开放,对修改封闭。这样,当系统需要增加新的功能时,可以增加新的类或模块,而无需修改现有代码...
详细介绍了设计模式六大原则,配有示例代码和图片,有开闭原则,单一职责原则,里氏替换原则,依赖倒置原则,接口隔离原则,迪米特法则等等。
24种设计模式介绍与6大设计原则24种设计模式介绍与6大设计原则
JAVA的六大设计原则是对设计模式应用的指导,是使软件更加灵活、易于维护和复用的基础。这六大设计原则包括: 1. 单一职责原则(Single Responsibility Principle, SRP):一个类应该只有一个引起它变化的原因,即...
理解和应用这些设计原则,可以帮助我们构建更加灵活、可扩展和易于维护的软件系统。在实际开发中,设计模式的这些原则常常相互关联、共同作用,以解决复杂的设计问题。不断学习和实践这些原则,是提升软件开发技能和...
面向对象设计原则:面向对象设计原则、开闭原则、里氏替换原则、里氏替换原则、里氏替换原则
《Java设计模式之禅》是一本深入浅出讲解设计模式的书籍,书中不仅包含23种经典设计模式的案例,还详细介绍了设计模式背后的思想和原则,适合初学者以及对设计模式有一定了解的程序员阅读。本书旨在帮助读者理解如何...
设计模式原则:单一职责原则,里氏替换,依赖倒转,接口隔离,开放关闭等等。
《深入设计模式》还特别强调了软件设计原则的重要性,认为遵循良好的设计原则对于构建高质量的软件系统至关重要。 - **优秀设计的特征**:优秀的软件设计应该具有清晰性、灵活性、可维护性和可扩展性等特点。 - **...
这个PDF文档“24种设计模式介绍与6大设计原则”旨在帮助开发者理解和应用这些模式,提高代码的可维护性和可扩展性。以下是其中的主要内容: 一、设计原则 1. 单一职责原则:一个类或模块应只有一个引起其变化的原因...
里氏转换原则(Liskov Substitution Principle,简称LSP)是面向对象设计的基本原则之一,它是SOLID原则中的L原则。这个原则是由Barbara Liskov在1987年提出的,它规定子类型必须能够替换它们的基类型,而不影响程序...
4. **依赖倒置原则**:这是SOLID原则之一,它强调依赖于抽象而不是具体实现。在C#中,这通常意味着高层模块不应该依赖于低层模块,两者都应依赖于抽象。通过这种方式,系统更加灵活,易于扩展和测试。 5. **工厂...
C#作为一种流行的面向对象编程语言,在设计模式的实现上表现出色,而本书《C#面向对象设计模式纵横谈(1):面向对象设计模式与原则.zip》则深刻揭示了如何将这些模式与原则贯彻于C#代码之中。 首先,让我们从设计...
设计模式是软件开发中的一种最佳实践,它基于一套核心原则来指导我们编写可维护、可扩展的代码。在这篇文章中,我们将深入探讨设计模式的六大原则,这些原则是理解并有效应用设计模式的基础。 首先,我们要了解“开...
本文件《设计模式与设计原则.pdf》中,将详细地探讨设计模式以及与之相关的六大设计原则。 首先,设计模式主要分为三类: 1. 创建型模式(Creational patterns):这些模式提供了一种在创建对象的同时隐藏创建逻辑...
在Android开发中,设计模式和设计原则是提升代码质量、可维护性和可扩展性的重要工具。以下是关于"Android 24种设计模式介绍与6大设计原则"的详细阐述: 一、六大设计原则 1. **单一职责原则(Single ...
在“经验篇”中,作者分享了自己在设计模式和软件开发方面的经验和看法,包括设计原则、项目重构等。 本书适合有一定编程基础的 IT 职场新人,对设计模式和编程思想感兴趣的人群。通过阅读本书,读者可以更好地理解...