编程与设计

发布于: 5 小时前
编程与设计

前言

架构师的核心能力:破局。技能都是为破局提供帮助的,如可以利用UML图表达设计意图等。

程序与编程

程序的本质是输入输出+逻辑,编程的目的是用计算机来解决现实世界的问题

编程语言的发展:低级语言(汇编):面向机器编程 -> 高级语言:面向“人”的逻辑编程 -> 面向对象的语言:对象包含状态(包含本身数据),行为和标识 -> 函数式编程:面向数据编程(map,filter...)

框架

框架是用来实现某一类应用的结构型的程序,是对某一类架构方案可复用的设计与实现。

框架与工具的对比:框架调用应用程序代码,应用程序调用工具;架构师应用框架保证架构的落地,利用工具提高开发效率。例子:JUnit是框架,log4j是工具。

软件设计

软件设计的最终目的是强内聚,松耦合

软件设计的过程中要去除“臭味”,包括:僵化性、脆弱性、牢固性、粘滞性、晦涩性以及不必要的重复和不必要的复杂性。

OOD原则

一、开闭原则(OCP,open-closed principle):对扩展开放,对更改关闭。

二、依赖倒置原则(DIP,dependency inversion principle)

1. 高层模块不能依赖低层模块,而是依赖于抽象;2.抽象不能依赖实现,而是实现依赖抽象。

框架的核心:好莱坞规则(Don't call me, I'll call you),即框架调用程序,而不是程序调用框架,程序需按照框架的约束(继承特定类或者添加注解)实现。

三、Liskov替换原则(LSP)

注意:任意场景出现 if/else 就有可能有问题。能够用子类的地方,不能使用父类。

四、单一职责原则(SRP)

注意:代码中类多点没关系,拒绝类中代码过多

五、接口隔离原则

用户头像

eazonshaw

关注

还未添加个人签名 2019.04.10 加入

还未添加个人简介

评论

发布
暂无评论
编程与设计