JAVA 框架之面向对象设计原则
程序员文章站
2022-07-10 23:40:30
面向对象设计原则: 单一职责原则 SRP : 一个类或者行为只做一件事 。 降低代码冗余,提高可重用性,可维护性,可扩展性,可读性 使用组合形式 单一职责原则 SRP : 一个类或者行为只做一件事 。 降低代码冗余,提高可重用性,可维护性,可扩展性,可读性 使用组合形式 里氏替换原则 LSP : 所 ......
面向对象设计原则:
单一职责原则 srp :
一个类或者行为只做一件事 。
降低代码冗余,提高可重用性,可维护性,可扩展性,可读性 使用组合形式
里氏替换原则 lsp :
所有引用基类的地方必须能够透明的使用子类。
如果类型s 的对象o1 ,都有类型为t 的对象o2 , 那么t 定义的所有程序在所有对象o1 都替换成o2 时, 程序没有变化。
爸爸能干的儿子都能干,引用爸爸的地方一定可以引用儿子。
依赖倒置原则 dip :
属于里氏替换原则的补充
面向抽象编程: 关键词: 接口,抽象
依赖: 一个对象o1 需要实现某一个功能时必须让另一个对象o2的某一个功能先实现,那么他们就存在依赖关系o1依赖于o2。
依赖注入 ioc: 将依赖的部分o2 作为o1 的属性注入,注入一定是抽象的。
接口隔离原则 isp :
客户端不应该依赖于那些他不需要的接口
一旦一个接口太大,则需要将他分隔成一些更细小的接口,使用该接口的客户端只需要知道与之相关的方法即可
迪米特里法则 lod :
每一个软件单位对其他单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位
不要和陌生人说话:
当前对象this
以参数形式传入当前对象方法中的对象
当前对象的成员对象
如果当前对象是一个集合,那么集合中的元素都属于朋友
当前对象自己创建的对象
开闭原则 ocp :
对扩展开放,对修改关闭。
evp --- 对可变性封装原则:找到系统中可能引起系统改变的因素,并将它封装起来
聚合复用原则 / 合成复用原则 arp/crp
尽量使用对象组合,而不是继承来达到复用的目的
黑箱复用,耦合度相对较低,选择性的调用成员对象的操作,可以在运行时动态进行