前言
首先,人作为一名有智慧的动物,必须要具备人所具有的具像化能力,只有这样,你才能离哲学家更进一步.根据观察世界在自己脑子里形成的宏大世界观.就必须把物象化形成抽象化.
在设计模式的世界里.所有的模式都遵守纪律.才保证你的代码能永恒流传.所遵守的原则有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就可以了
开闭原则
这个是所有美女的头头.是所有姐妹公认的都能在这个大姐大身上找上自己的影子的人.对修改关闭,对扩展开放.