设计原则:凡事无规矩不成方圆.

本文以生动的比喻解析了软件设计中的六大核心原则,包括单一职责、里氏替换、接口隔离、依赖倒置、迪米特及开闭原则,帮助读者深入理解并运用这些原则,提升代码质量和软件架构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

首先,人作为一名有智慧的动物,必须要具备人所具有的具像化能力,只有这样,你才能离哲学家更进一步.根据观察世界在自己脑子里形成的宏大世界观.就必须把物象化形成抽象化.
在设计模式的世界里.所有的模式都遵守纪律.才保证你的代码能永恒流传.所遵守的原则有6个.我这就开始讲让代码艺术丰富多才的原则.

单一职责原则

美女人人都喜欢.百变女王更喜欢了.单一职责就像一个单纯的小萝莉.大大的眼睛.肤白貌美…额扯远了.每一个类都负责一个功能.且必须把此一功能极致化.
这个原则应该不用多讲把.一眼就能看出小萝莉吧

里氏替换原则

一个不喜欢说话的安静的孝顺美女.一个子类可以替换父类并且能够正常工作.
不明白?
好,举个例子.有一个类中的方法调用了父类的方法,没错可以.行的通.但是就在这个时候,我写了一个子类重写了父类这个方法,抛出了异常.那么问题来了,原来的类中调用了父类的方法.到底运行是产生的是什么结果?不明白?
好上代码

public class A {
	public void someMethod(Father father){
		father.method()
	}
}	

public class Father{
	public void method(){
		System.out.println('Father method:Hi')
	}
}

public class B extends Father{
	public void method(){
		throw new someException()
	}
}


public class Client{
	public static void main(String[] args){
		A a = new A();
		a.someMethod(new Father());
		a.someMethod(new B())
	}
}

运行结果就是抛出这个异常.本来是使用B来代替父类的方法职能,A并不知道B重写后发生的情况.所以每次子类替换这个父类的时候,就要担心其埋下的隐患.

接口隔离原则.

接口隔离原则就是一个精打细算的美女.她强调的是一个接口所拥有的行为尽可能小,做到物尽其用,人尽其才.节约空间时间成本.
不明白?就是说一个接口里的行为,尽可能的都能用上,不要有浪费的.例如.一个iphone接口,它有call playMusic sendMessage 面部支付等行为.现在我就用iphone7.结果发现面部支付是实现不了的行为.等我以后有钱买了iphonex和xs就用上了
那怎么办呢,去掉这个面部支付行为,使用iphone8andX接口继承iphone.这个就是接口隔离原则.

依赖倒置原则

依赖倒置原则就像一个小鸟依人黏人的美女.他原话是高层模块不应该依赖底层模块,也就是说,细节实现不应该依赖,而是要依赖抽象.
比方说获取数据,有网上获取,有本地获取,有数据库获取,有xml文件获取,有键盘输入获取.而我们依据依赖倒置原则就会想到我不关心获取的是啥.只知道获取我想要的值.这像极了前台调用后台数据发生的事.我想调用数据,不关心数据怎么样怎么样.

迪米特原则

这个象未成年人.幼女.她的世界知道的最小.不知道其他对象,很少依赖其他人,称为最小知道原则.总归来说她比小萝莉还单纯,她不同的是不想让别人知道她的太多,她的内心是敏感的封闭的.如果不想让别人知道自己太多的事,就直接private就可以了

开闭原则

这个是所有美女的头头.是所有姐妹公认的都能在这个大姐大身上找上自己的影子的人.对修改关闭,对扩展开放.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值