java设计模式的几个原则

  • 单一职责原则
    • 按照自己的理解就是,一个类只处理某一个具体对象相关的事情,而不要处理多个具体对象的相关的事情,即使这几个对象很相似,即使都是继承某一个父类。比如说字节流就处理字节流相关的事情,字符流就处理字符流相关的事情,而不要把他们两个类整合成一个类,这个类既处理字节流,也处理字符流。比如格式化工具类,日期格式化就只处理日期,字符串格式化就只处理字符串,而不要把他们整合成一个类,根据参数类型去判断,如果是字符串就按照字符串的规则处理,如果是日期就按照日期规则处理。
  • 开闭原则
    • 按照自己的理解就是,一个类在设计完成之后,就不能修改其代码,如果要添加功能则添加额外的类来处理,比如说一个普通的用户类,有两个行为吃饭和睡觉,这个时候来个人说,我要上班,那么就不能直接在代码中添加一个吃饭的方法,而是添加一个扩展类来实现,可以是通过实现类,也可以通过继承父类的方法来实现。
    • 在jdk中,list、map等集合类,IO相关的类都是开闭原则的体现。
  • 里氏替换原则
    • 简单来说,子类可以扩展父类的功能,但不能改变父类原有的功能,也就是说,在子类继承父类时,除添加新的方法且完成新增功能外,尽量不要重写父类的方法。
  • 迪米特法则
    • 迪米特法则又叫最少知道原则,即一个类对自己依赖的类知道的越少越好,对于依赖的类不管有多复杂,都尽量将逻辑封装在类的内部,对外除了提供public方法,不泄漏任何信息。

      更简单的说法:只与直接朋友通信。

      直接朋友:每个对象都会与其它对象有耦合关系,耦合的方式有很多,依赖、关联、组合、聚合等。我们称出现在成员变量,方法参数,方法返回值中的类称为直接朋友,而出现在局部变量中的类不能称为直接朋友,也就是说,陌生的类不要以局部变量的形式出现在类的内部。

    • 自己的理解,比如三个类,A直接依赖B,B依赖C,在A中就不要有取代B功能的代码,比如说B中有一个方法要从C中取数据进行迭代,那么A就不要先从B中取C的数据,然后自己迭代处理数据,而是让B封装好这一切,A只管取结果即可。比如老板、经理、员工,不要让老板去直接找员工了解员工的事情,而是老板找经理了解员工的事情就可以了。
       

  • 接口隔离原则
    • 也就是接口设计不能把非共同的行为全部放到同一个接口中,比如一台电脑和手机,虽然他们都有通讯的工能,但是他们还有更多不一样的功能,所以不能把电脑和手机所有的方法都设计到同一个一个接口。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值