品软件架构原则模式之美
一、从编程语言的演进看抽象
编程的目的是用计算机来解决现实世界的问题,编程的过程是在计算机能理解的“模型”(解空间)和现实世界(问题空间)之间,建立一种联系。编程语言是一种“抽象”的机制,问题是对“谁”来抽象。
机器代码和汇编语言是对基础机器进行抽象,非结构化的高级语言是对计算处理逻辑抽象,结构化的程序设计是对问题领域进行一定程度的抽象,面向对象的程序设计直接问题空间内的元素。
编程方法的演进是从汇编语言到高级语言再到结构化语言最后走到抽象问题空间的面向对象语言。
二、为什么要面向对象
面向对象是客观的抽象了现实的世界,对人类是友好的,他通过把现实的世界都抽象成对象,程序就是对象的集合,对象之间痛殴发送消息来告知彼此所要做的,每个对象都有自己的类型, 每个对象都有状态,行为,标识。面向对象通过封装,继承,多态三大要素来抽象现实的世界。
三、框架和工具的区别
框架是哟给你看来实现某一类应用的结构性的程序,是对某一类架构方案可复用的设计与实现。框架与工具的区别是框架调用应用程序的代码(这个对与理解框架很重要),工具是应用代码调用工具,架构师用框架保证架构的落地,架构师用工具提高开发效率。
四、如何评价软件设计
软件设计的最终目的,是使软件达到高内聚,松耦合,从而使软件:易扩展,更健壮,可移植,更简单。相反的,一个不好的软件,会是僵硬,脆弱,不可移植,导致误用的陷阱,晦涩,过度设计,重复代码。
一个好的软件设计是欢迎修改的,是容易理解的,容易维护的,容易增加新的功能。
五、OOD原则
OOD的原则有,开闭原则(OCP),依赖倒置原则(DIP),Liskov替换原则(LSP),单一职责原则(SRP),充分理解和运用这些原则可以把软件设计的很美,可以达到软件设计的最终目的。
评论