架构师训练营 - 第二周总结

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

软件的设计

学习到了设计一个高内聚低耦合的软件可以通过OOD的设计原则,包括

开闭原则

开闭原则是核心原则,对扩展开放对修改关闭,不修改原有代码,对模块、类、属性等进行扩展实现的需求变更,这种设计可以说遵循了开闭原则,所以即使对某个类增加了属性不影响到原有功能,也是遵循开闭原则的,这个原则本身还是比较开放的,不能片面的理解。

依赖倒置原则

依赖倒置原则是说高层不应该直接依赖低层,两者通过抽象互相依赖。

例如调用者模块与被调用者模块之间由不同的人共同研发,调用者直接依赖了被调用者的接口,当被调用者发生变更时,调用者也要进行修改,引发了散弹式变更,模块之间耦合度很高,由调用者定义抽象接口,被调用者实现抽象接口,这样被调用者发生变更影响只会发生在被调用者一方,可以实现模块之间解耦,这样的设计遵循了依赖倒置原则。

里氏替换原则

里氏替换原则是说基类可以出现的地方,子类一定可以出现。例如人渴了可以喝水,人通过喝这个函数依赖液体,液体是基类,水或者饮料是液体的子类遵循了里氏替换原则,如果毒药也是液体的子类就破坏了里氏替换原则。

接口隔离原则

客户端不应该依赖它不需要的接口,这个原则是说不要设计大而全的接口,把接口的粒度拆的更细,例如用户接口有登录,详情,编辑,删除等函数,删除是管理员才有权限操作的接口不该开放给客户端调用。

单一职责原则

单一职责是说一个类只有一个引起它变化的原因,当有多个原因引起它变化,那么他的职责是不单一的,但是类职责是否单一往往很难界定,要根据实际业务场景去判断,如果一个类超过两百行代码,或者出现了多个私有方法,应该要考虑对类进行拆分。



工具和框架的区别

框架( Framework )是构成一类特定软件可复用设计的一组相互协作的类。框架规定了你的应用的体系结构。它定义了整体结构,类和对象的分割,各部分的主要责任,类和对象怎么协作,以及控制流程。框架预定义了这些设计参数,以便于应用设计者或实现者能集中精力于应用本身的特定细节。



工具是抽象的概念,通俗的说是一些符合某种规范的类组合在一起就构成了工具。工具是实现了某一功能,应用实现者主动调用工具实现完成工作。



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

teslə

关注

还未添加个人签名 2018.08.09 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 - 第二周总结