设计原则
文章平均质量分 50
JohnII7
这个作者很懒,什么都没留下…
展开
-
Java七大设计原则(7/7)——迪米特法则
定义迪米特法则(Law of Demeter)又叫作最少知识原则(The Least Knowledge Principle),一个类对于其他类知道的越少越好,就是说一个对象应当对其他对象有尽可能少的了解,只和朋友通信,不和陌生人说话。简而言之,就是与其他类交互越少越好,尽可能减少所受其他类的影响,降低耦合度。代码实现不使用迪米特法则假设现在自己是Host,想玩英雄联盟了,没什么皮肤,想跟朋友John借个号爽爽。定义John类/** * @author John117 * @date 20原创 2022-05-24 13:34:14 · 238 阅读 · 0 评论 -
Java七大设计原则(6/7)——合成复用原则
定义合成复用原则:尽量使用对象组合,而不是继承来达到复用的目的。合成复用原则同里氏替换原则相辅相成的,两者都是开闭原则的具体实现规范。组合复用可以使系统更加灵活,降低类与类之间的耦合度。而使用继承,会大大增加类与类之间的耦合度,因为假如哪天被继承类的业务需要修改,或者被继承类的业务需要另一个类来代替,那么继承类所继承的父类业务也需要去修改,这样做增大了工程量。并且继承子类还会继承父类一些可能不想暴露的细节,这样并不安全。代码实现不使用合成复用原则假设现在要出门,我们选择一双鞋穿出去。原创 2022-05-24 12:52:53 · 353 阅读 · 2 评论 -
Java七大设计原则(5/7)——接口隔离原则
定义客户端不应该依赖它不需要的接口。一个类对另一个类的依赖应该建立在最小的接口上。实际上就是要求接口细化。代码实现不使用接口隔离原则定义一个猫猫接口/** * @author John117 * @date 2022/05/23 18:24 */public interface Cat { String getName(); String getMiao(); String eatMouse();}定义一个橘猫,实现Cat接口.原创 2022-05-24 11:58:59 · 137 阅读 · 0 评论 -
Java七大设计原则(3/7)——里氏替换原则
定义里氏代换原则,任何基类可以使用的地方,子类一定可以使用。但反过来不一定成立,子类出现的地方,基类不一定能使用。即子类可以拓展父类,但不能更改父类原有的功能。概述子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。子类可以增加自己特有的方法。当子类的方法重载父类的方法时,方法的前置条件(即方法的输入/入参)要比父类方法的输入参数更宽松。当子类的方法实现父类的方法时(重写/重载或实现抽象方法),方法的后置条件(即方法的输出/返回值)要比父类更严格或与父类一样后两句可以概括为:接受的.原创 2022-05-22 12:49:11 · 383 阅读 · 0 评论 -
Java七大设计原则(2/7)——开闭原则
定义:在面向对象编程领域中,开闭原则规定“软件中的对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的”,这意味着一个实体是允许在不改变它的源代码的前提下变更它的行为简而言之,就是开放拓展,关闭修改。开放是对提供方而言,拓展是对调用方而言。代码实现期间查阅到一个例子很好接释了开闭原则。例如有一个需求,购买东西时,需要根据不同的支付方式去支付,当类型为"wechat"的时候使用微信支付,当类型为"alipay"的时候使用支付宝支付。先看不使用开闭原则的代码是怎么写的不使用原创 2022-05-22 02:34:41 · 229 阅读 · 0 评论 -
Java七大设计原则(1/7)——单一职责原则
定义:单一职责原则的核心就是控制类的粒度大小、将对象解耦、提高其内聚性通俗点说也就是一个类应该干专一的事,不应什么都干。比如public class People{ public void top(){ System.out.println("我绝活就像TheShy"); System.out.println("对线如砍瓜切菜"); System.out.println("名为德莱厄斯AKA劈瘾犯了"); } public void mid(){ System.out..原创 2022-05-21 22:20:48 · 298 阅读 · 0 评论