成都ios培训:iOS架构
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
之”冗余
www.cdtedu.com达内教育—中国IT培训领导品牌 成都ios培训:iOS架构设计之”冗余性”思考 该系列文章是2016年折腾的一个总结,对于这一年中思考和解决的一些问题做一些梳理和总结
做客户端开发的同学都了解业务需求千变万化,你永远不知道他未来会变化成什么样子。而作为开发人员也绝对不喜欢需求变更。本来说好的,都快做完了,产品经理突然变卦了:咱们不这样搞了,你看我七十二变。
我们极不情愿跟在这纷繁复杂的变化屁股后面,疲于奔命。天下没有那么容易偷的懒,若不想应对这变化。就需要走到变化前面。技术往前走一步,领先于业务,而不是被业务赶着屁股走。这就需要冗余性思考,在做业务开发的时候,作为Coder就需要往后思考,业务可能会怎么变,当前程序结构是否足够灵活,方便调整。当业务需求调整的时候,能够以最小的代价来满足。而这就是『冗余性』思考。 针对变化进行设计而不只是针对需求。
这里说是『冗余』,是因为开发测多想了几步,为未来可能的变化也做了铺垫。与一些同学坚持的程序设计满足当前需求,不进行过度设计的理念多少有些不符。而我认为进满足当前需求进行设计是传统软件开发的路数,在互联网软件开发过程中,已经不适用。互联网软件产品,尤其是终端上的,版本迭代频繁,功能更新迅疾。已经很难有稳定的需求存在,变化是其本质特征。于是要求我们在开发的时候,就需要针对这种变化做出一定的设计。
探寻变化的规律
设计机制而不是仅仅满足需求
机制与策略分离
我们首先要说一个观点就是机制与策略分离。我们希望设计的是一整套能够满足当前需求的机制,其次才是针对当前需求的产品策略。这也是我这一年来的一个非常重要的总结。并且在逐渐开源出来的一些库中也体现着这个设计。具体说一下,所谓机制即是抽象出来的规则,比如:
f(x)=x^2 x属于R
所谓策略即是在具体场景中的应用,比如当x=2的时候: