写点什么

架构师课程第二周总结

用户头像
PQY
关注
发布于: 2020 年 06 月 17 日



三个特性

封装:

和平常说的封装一下xxx不同,这里的封装指的是 

明确类的行为、状态使用边界以及类的边界,主要解决的问题是类的安全使用问题

通过修饰符 明确类、变量、方法的作用范围,对外隐藏脆弱的代码。

对外隐藏代码,也意味着 内部代码改动不会影响到外部的使用。这也是封装带来的好处



继承

子类继承父类的行为和属性。使子类可以向上转型。

关于继承,有慎用继承的说法。主要是使用继承可能会破坏父类的结构。而父类的代码改动也有可能影响子类。

但这个还是看场景,对于行为已经固定的类,确实别用继承。但模型为了扩展而写得父类,也是需要用继承的。

总得来说,慎用继承还是在隔离人的因素



继承和实现

继承与实现的区别:继承面向的是事物,实现面向的是行为。所以在java中,类是单继承的,接口是多实现的。 行为可以多,但事物的所属祖先只能有一个。



多态

父类引用指向子类实现。 在编译期不指定具体的实现,运行期指向具体的子类对象。 主要作用还是解耦



五个原则



开闭原则

对修改关闭 对扩展开放。

个人理解 主流程的变化修改时必然的,但在主流程必然不变时,需要做到代码对变化逻辑的隔离。 隔离出变化的部分,留下扩展的口子。这个是很轻松能办到的



依赖倒置原则

高层模块不应该依赖低层模块,抽象不改依赖实现



关于倒置: 一种编码逻辑是明确具体的被调用方式谁,这里的倒置就是倒置被调用方,调用方调用抽象。 先抽象后细节,先主流程后细节



里氏替换原则

子类能代替基类



单一职责原则

类的职责要单一。 主要还是划分清楚类的行为边界



接口隔离原则

接口的单一职责描述



近期需要改进的



受源码影响比较多,所以平时喜欢过度去设计某些东西,去套用一些设计模式。最近也在尝试改变。其实好的代码就是 高内聚松耦合,编码的时候根据这里原则作为准则就行了



用户头像

PQY

关注

还未添加个人签名 2018.11.06 加入

还未添加个人简介

评论

发布
暂无评论
架构师课程第二周总结