设计是用工艺手段整理需求的过程,设计的细化程度依赖于需求的稳定程度,同时考虑预先设计与否的代价,不预先设计,后期修改成本可能很高,预先设计,会增加程序的复杂性,如果需求和预期不一致,重写的成本可能更高;所以一般考虑优先做确定的需求的设计,同时在开发的过程中及时调整设计;优化也是如此,如果不确定有性能问题不预先做优化设计;有性能问题时再考虑优化;预留扩展接口也是要权衡是否预先设计的成本.
设计技能是需要锻炼的,不断磨练自己面向架构思考和抽象能力,
架构师是一种职责,而不仅仅是一个头衔,是一个进化的过程,同时不仅仅是技术,也包括不同领域的参与度,影响力,领导力和责任感。
管理非功能性需求
技术选型是彻头彻尾的风险管理
架构评估:满足非功能性需求,为其他部分代码提供必要的基础,并为解决和存在的业务问题提供足够的平台。