Linux software developer, open source player (maybe).
分类: LINUX
2015-07-27 11:07:33
架构的第一步是什么?
公司招聘了一个NB的架构师, 但是他对项目的业务流程并不熟悉, 能让他接手架构设计吗?
"复杂系统毫无例外都是从能工作的简单系统演变而来的......从头设计的复杂系统根本不能工作,
也不能通过打补丁的方式使其工作. 必须从头开始, 从能工作的简单系统开始"
即首先必须熟悉老的架构和程序, 熟悉老的业务流程, 然后才是基于老的架构进行重构, 或者架构新的系统.
随着系统的演变, 曾经认为复杂的对象变成了基础对象, 在这些对象的基础之上构建更复杂的系统. 而且, 永远不能够第一次就正确打造出这些基础对象, 必须在上下文环境中使用它们, 然后随着时间的推移不断地改进它们, 因为我们对系统的真实行为了解得越来越多.
所以架构的第一步便是: 实现一个能工作的基础框架(骨架), 并测试验证通过; 然后再根据business logic添加血和肉; 不断丰富和演化.
其次什么是面向对象设计? “面向对象设计是一种设计方法,包括面向对象分解的过程和一种表示法,这种表示法用于展现被设计系统的逻辑模型和物理模型、静态模型和动态模型”。