架构师训练营 - 每周学习总结 2

用户头像
水边
关注
发布于: 2020 年 06 月 14 日

周四:回顾与漫谈

1、不要用面向对象的语言,做面向过程的开发:

对象应该有 状态(属性)、行为(方法)、标识(与其它对象可区别),

面向对象的三要素:封装、继承、多态,而多态是面向对象的核心特性,多态的实现才是真正面向对象开发。

2、DDD领域驱动:

应该是充血模型,而不是贫血模型

3、漫谈:

要有提出见解或解决方案的能力与勇气,并且要有能承接达成方案的意愿,机会并不是经常有,要自己创造;你提出并承接了任务,即使失败,也有了失败的经验,同时也锻炼了自己,成功了当然更好。



周六:设计模式

1、框架与工具的区别:

框架是架构落地的保证,提供了开发的约束与规范限制;

工具只是给大家调用,提高开发效率的。



2、不好的软件设计,有哪些特性:

  • 僵硬:做一些小变化,是否会引起其它对象或模块的变更?或导致其它功能出现问题?

  • 无法剥离:一些代码块依赖太强,无法单独单独抽离或重用;

  • 晦涩:难以理解的代码风格或实现;

  • 复制:大量重复代码。



2、开闭原则:对修改关闭,对扩展开放

所以要面向接口编程,如果要加新的功能,应该建新的接口,进行实现,而不是改旧的接口,影响面太大;

另外,如果每个接口只有一个实现,则不应该用接口,等需要接口的时候,再重构也是非常快的。



3、依赖倒置原则:

高层不应该依赖底层模块实现,大家都依赖抽象(接口);

同样抽象也不应该依赖实现实现,应该是实现依赖抽象(接口不知道实现的存在);

高层定义接口,交低层实现(前端定义接口,要什么样的数据和格式,后端实现,而不是后端定义,前端适应)。



4、好莱坞原则:不要去调用框架,而是让框架来调用你(按框架的规范或约定编写代码)



5、里氏替换原则:所有用父类的地方,应该都能用子类替代,而不会出错。

违反里氏原则的:加新的子类,却要改父类;

如果设计一定要违反,请考虑提供共性,或改用组合(建议),用适配器模式



6、接口隔离原则:

避免把接口暴露给不需要它的调用者,所以才应该由高层(使用方)定义接口。



7、单一职责:

每个类都应该只有一个引用它变化的原因,比如既包含业务又包含持久化逻辑就不对。

考虑多接口,实现类完成多继承。

发布于: 2020 年 06 月 14 日 阅读数: 36
用户头像

水边

关注

还未添加个人签名 2019.04.14 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营-每周学习总结2