架构师的目标/ 软件架构特点
- 软件架构总是要变的,重要的不是设计出好的架构,而是让架构和开发人员适应变化。
- 软件架构的终极目标是,用最小的人力成本来满足构建和维护该系统的需求。
- 架构的本质是优化业务场景,达到优雅解决方案,同时使业务能够快速迭代和持续交付。
多实践 多思考
- 编程年限时间越长,经常思考更好的解决方式,能收获到的知识也就越多。精彩的代码是如何想出来的,要比看到精彩的代码更加令人期待。
- 如果我们不能决定一个系统的架构,那么就思考、实践如何把它变好。过程中,大抵也是能收获更多的东西,对下一个系统有更多的启发。
- 如果想成为一名更优秀的软件设计师,了解优秀软件设计的演变过程比学习优秀设计本身更有价值,因为设计的演变过程中蕴藏着大智慧。
架构的目标
- 易读、易拓展、易维护、可重用、轻松部署
- 最大化程序员的生产力
- 最小化系统的 运营成本
好架构的标准
- 不再需要成群的程序员(很多人)来维护系统的正常运转;
- 每个变更的实施不再需要巨大的需求文档和复杂的任务追踪系统;
- 项目上的程序员不再疯狂加班;
好的软件架构可以节省软件项目的构建与维护人力成本。让每次变更都短小简单、易于实施。
什么是架构
架构图里面包含了所有的底层设计细节,这些细节信息共同支撑顶层的架构设计,底层设计和顶层架构设计组成整个架构。