七种设计模式原则知识框架笔记
2022-10-26 15:45:46 0 举报
AI智能生成
七种设计模式原则知识框架笔记
作者其他创作
大纲/内容
又称最少知道原则
陌生类是指方法内的临时变量,入参和返回值不算
朋友类是指成员变量,入参,返回值
只和朋友类交流,不和陌生类交流
迪米特法则
子类可以实现父类的抽象方法,但不能覆盖非抽象方法
如果父类能执行的方法,子类也依然能执行且效果相同。
重载时入参更宽松,返回值更严格
例子:开闭原则的例子,不再重写getPrice,另写方法getDiscountPrice(){super.getPrice()*0.6}
例子:正方形继承长方形,如果增加长方形的宽,正常。如果增加正方形的宽,则会无限循环。因此不应该继承
里氏替换原则
尽量使用对象组合/聚合(就是定义成员变量或者List),而不是继承
例子:Dao有Connect成员变量,Connect有Mysql,Oracle等多种子类。不需要修改Dao即可改变数据库类型
合成复用原则
拓展开放,修改关闭
使用接口或抽象类限制,且抽象方法稳定
核心思想:面向抽象编程
开闭原则
高层类不依赖底层类,底层细节应该依赖抽象
例子:tom.study(new JavaCourse());
依赖倒置原则
一个Class/Interface/Method只负责一项职责
例子:Course.study(直播课/录播) 拆分为LiveCourse.study()和ReplayCourse.study()
例子:modifyUsernameAvatar拆分成modifyUsername和modifyAvatar
单一职责原则
尽量细节化接口,不依赖不需要的接口
接口隔离原则
七种设计模式原则知识框架笔记
0 条评论
回复 删除
下一页