一切都是为了高内聚低耦合的封装思想
它是开闭原则的延伸
越往上越抽象,越往下越细节
说白了就是
当你写一个类写得很累,发现方法/函数内容很多很复杂的时候
尝试把方法/函数抽象成一种行为什么的
让这些方法有所依赖,有所倒置
比如:
类 小明
方法 看A书
方法 看B书
方法 看C书
运行:
小明.看A书
小明.看B书
小明.看C书
倒不如:
//1.先定一个接口(或抽象类(略))约定看书这个行为,具体看啥书用实现类去扩展
接口 书
方法 我是某书
类 A书 实现 书
方法 我是某书
"A书"
类 B书 实现 书
方法 我是某书
"B书"
类 C书 实现 书
方法 我是某书
"C书"
//2.修改主类,抽象出行为模式
类 小明
方法 看书(接口 书)
运行:
小明.看书A(A书)
小明.看书A(B书)
小明.看书A(B书)
好处:
1.主类简约清晰有条理
2.类的功能很明确
坏处:
1.类多一点
进阶玩法一:
在主类构造方法注入书本
进阶玩法二:
通过get/set方法注入书本
网友评论