学习总结—第二周

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

心平气和持续优化

心平气和接收反馈,不好不对就优化,坦然解释和面对用户。

框架与工具的区别

框架是一种限制,它基于业务和问题结合设计模式,创造出一种框架结构,通过限制和约定,反而让开发者可以更快速的进行开发。

比如 Angular 就是框架,它规定了用 decorator 的方式去声明变量以及一些属性,约束了这些配置和声明组件的方式。之后的任务就交由框架完成,会读取和注册组件,然后控制组件的生命周期来完成需求。对于业务开发者而言,他只关心在 Angular 这个框架的约束下,需要如何声明和开发当前小组件。快速完成就结束了。可以看出来,框架会调用业务代码,而业务代码不会调用框架。

而工具则是由业务代码去调用工具实现某些计算或者其他需求。

软件设计的终极目的

高内聚低耦合,从而实现高扩展、强壮、可移植、简单。

通常有以下几种设计原则可以帮助到你:

开闭原则

增加新功能不会对现有的组件产生变更。

比如 webpack 构建器,增加对新类型文件的支持,无需修改 webpack 本身,只需要按照 webpack 的接口规范,实现一套 loader 即可实现新的变更。

依赖倒置原则

高层模块不能依赖底层模块,抽象不能依赖实现。

还是 webpack 构建器,框架本身是高层组件,loaders 是底层组件,高层组件不能直接调用底层组件,而是提供一个接口和框架。之后底层组件去实现然后关联过去被调用。这样高层组件才能复用。

Liskov 替换原则

子类型(subtype)必须能替换掉他们的基类型(basetype)。

比如正方形类以矩形类为基类是不行的,因为正方形的规则是无法完全替换掉长方形,它的高和长是一样的。假如矩形提供了 calculateArea、setWidth 和 setHeight 的时候,调用正方形类的这个方法就会产生冲突。

单一职责原则

就是一个类包含一个单一职责,只负责自己相关的,尽可能的细小。

接口分离原则

接口尽量隔离分开,如果不需要被某个组件调用,就不要在那个接口上暴露相关方法。



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

于江水

关注

还未添加个人签名 2018.07.08 加入

还未添加个人简介

评论

发布
暂无评论
学习总结—第二周