设计模式遵守的设计原则

本文详细介绍了设计模式中的单一职责原则、接口隔离原则、依赖倒置原则、里氏替换原则和开闭原则,强调了这些原则在降低复杂性、提高可读性和维护性方面的重要性。通过代码实例展示了如何在实践中应用这些原则,从而实现更稳定和灵活的系统设计。
摘要由CSDN通过智能技术生成

设计模式遵守的设计原则

单一职责原则

是什么?
一个类只负责一个职责
好处?
降低类的复杂度
提高类的可读性 维护性
减低变更引起的风险

接口隔离原则

是什么 ?
一个类对另一个类的依赖应该建立在最小的接口上
在这里插入图片描述

依赖倒置原则

是什么?
面向接口编程,高层模块不应该依赖底层模块,而是应该依赖抽象类或者接口;
抽象不应该依赖细节,细节应该依赖抽象;
对于细节的多变性,抽象的比较稳定.
好处?
抽象类或者接口制定好规范,具体细节有子类实现
实现
1)接口传递
在这里插入图片描述

package dp.denpanceinversionprinciple;

public class TestCase1 {
	public static void main(String[] args) {
		B b = new BaseB();
		A a = new BaseA();
		a.operation1(b);//接口依赖
	}
}

interface A{
	public void operation1(B b);//接口依赖
}
class BaseA implements A{
	@Override
	public void operation1(B b) {
		b.methodb();
	}
}

interface B{
	public void methodb();
}
class BaseB implements B{
	@Override
	public void methodb() {
		System.out.println("extends BaseB methodb");
	}
}

2)构造方法传递

package dp.denpanceinversionprinciple;

public class TestCase2 {
	public static void main(String[] args) {
		AA a = new BaseAA(new BaseBB());//构造方法依赖
		a.operation1();
	}
}

interface AA{// 抽象类不能有构造方法
	public void operation1();
}
class BaseAA implements AA{
	private BB b;
	public BaseAA(BB b) {//构造方法依赖
		this.b = b;
	}
	@Override
	public void operation1() {
		b.methodb();
	}
}

interface BB{
	public void methodb();
}
class BaseBB implements BB{
	@Override
	public void methodb() {
		System.out.println("extends BaseB methodb");
	}
}








3)set方法传递

package dp.denpanceinversionprinciple;

public class TestCase3 {
	public static void main(String[] args) {
		AAA a = new BaseAAA();
		BBB b = new BaseBBB();
		a.setB(b);//set方法依赖
		a.operation1();
	}
}

interface AAA{// 抽象类不能有构造方法
	public void setB(BBB b);
	public void operation1();
}
class BaseAAA implements AAA{
	private BBB b;
	public void setB(BBB b) { //set方法依赖
		this.b = b;
	}
	@Override
	public void operation1() {
		b.methodb();
	}
}

interface BBB{
	public void methodb();
}
class BaseBBB implements BBB{
	@Override
	public void methodb() {
		System.out.println("extends BaseB methodb");
	}
}








里氏替换原则

是什么?
类和类之间的引用尽量减少使用继承,多使用聚合 组合 依赖等减少父类变化引起子类的变化。
在使用继承时,尽量少重写父类中的方法。

开闭原则
是编程中最基础最重要的设计原则

是什么?
对扩展开发,对修改关闭(调用方的修改)

迪米特原则

是什么?
类调用别的类时,对调用方知道越少越好 。一个类对自己依赖的类知道的越少越好。

合成复用原则

是什么?
原则是尽量使用合成、聚合的方式,而不是使用继承

设计原则的核心目的:高内聚 低耦合;使用接口编程
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值