不管咱们是从零开始构建系统,仍是重构系统,其实架构都在系统了。
若是你有主动作架构设计,那确定须要遵循必定的原则去探索和发现架构。
若是你没有作架构设计,但根据行业通用标准或者经验,用一套代码(开源或内部模板)来开发。其实这里面就会有架构设计,只是你没有意识到。架构
固然要主动作架构设计,被动是要挨打的。所谓“作事不能没有原则”,主动作架构设计,首先要懂设计思惟的原则。下面将讲解设计思惟的原则。spa
设计思惟的原则
设计思惟的原则那就像《孙子兵法》总编同样,指导咱们如何思考和解决问题的方向。这里咱们参考下《Design Thinking:Understand-Improve-Apply》书中的四条基本的设计思惟原则:
1.以人为本:设计的本质是社交。
2.推迟决策:推迟不肯定的决策。
3.善于借鉴:全部的设计都是在已有设计基础上的从新设计和调整创新。
4.化虚为实:让想法具体化、有形化、以便于沟通交流。.net
设计思惟原则的四字真言仍是有点抽象的,下面说明下个人我的理解,以及该如何运用这些原则。架构设计
以人为本
为何说设计的本质是社交呢?由于设计自己是围绕人开展的工做,必然蕴含人的思想和意图在里面,并且特别是软件架构设计必然是须要多人参与和沟通的。设计的每一个决策都影响着系统的利益相关方。若是设计不能被你们所理解,那确定不会是好的做品(系统)。设计
架构设计是须要与利益相关方协做完成的,设计的好坏也取决于与利益相关方协做状况。所以,架构师要有同理心,懂得换位思考和沟通,尊重利益相关方(开发人员、项目经理、业务需求方、系统操做者等),倾听他们的心声,理解他们的意图。这样,架构设计才能发挥它应有的做用。blog
推迟决策
开发软件过程当中最忌模棱两可、不肯定的需求、设计等,由于可能会有重大的项目风险。所以,设计的决策必须是明确的。若是设计的决策存在没法明确的需求、设计、人员状况等因素,则不到不得不决策的时刻,就不要急着作出最终的决策。这样咱们就能更从容地面对开发环境的变化。开发
善于借鉴
善于借鉴就是告诫咱们不要重复造“轮子”了。例如,不少开发部门人员比较多的公司,若是没有作好技术知识沉淀,很容易公司内部就出现重复造“轮子”的状况。善于借鉴的前提是你了解或熟悉不少“轮子”,因此建议你们作好技术知识沉淀,多了解行业技术。get
作架构设计以前,咱们应该尽可能多花点时间研究和参考已有的设计,而不是从零开始作设计。借鉴前人的经验,就能避雷和高效地进行架构设计。原型
化虚为实
呈现架构设计的方式有不少种,可能对开发人员来讲,看下代码就能够了,但不一样的角色对架构设计的理解水平是不同的。对于代码形式的架构设计,只有技术人员能看懂,对于其余人来讲就难以理解。模板
所以,为了讲解架构设计,须要针对不一样的利益相关方使用不一样的展示方式。例如,制做原型或简单的模型,流程图,时序图,概念图等等。反正就是以方便他人理解架构设计为目的地进行呈现。
总结
设计思惟原则是咱们设计架构的“孙子兵法”总编。它指明了设计架构的方针,帮助咱们正确地进行设计。
原则仍是须要具体的作事模式,让咱们有方法可遵循,下篇文章将讲解架构设计思惟模式