2018-06-13-设计的感悟

一个晚上的重构代码,感觉从几个月前的接手一份陌生的代码,有了很多的领悟,总结一下,希望自己记住这些感觉,也提醒自己加强学习,变得不一样。
1、细化功能点,模块设计解耦;
我们总在说这些概念,希望解耦,希望增强代码的重用性,可是在没有接触一个易变的,需求复杂的模块时,这些观点只在教科书上,而没有自己真正领会。比如tunnel,按着一开始的设计,耦合度过高,导致在应对已知的限定需求时候,一时的代码,可能还有一些用处。
耦合度高,原因的很简单:你还不明白自己这个模块的基本框架,你也无法预测未来它的走向!但是作为核心的重要的东西,通常就是一个多变的多需求的东西,必须尽可能弄懂他,在没弄懂之前,不存在完美的设计,因此,能做的就是尽自己最大的能力去细分功能,不要害怕复杂,功能拆得越散和独立,日后复用的可能越高,重构的难度越低。其次就是,尽可能去理解你的业务,代码的好坏,直接和一个人对业务的理解成正比!

2、定义模型
其实我不擅长定义模型,但是接触了一段时间后似乎也明白了一些道理。工厂、构造器这些数据模式是老生常谈的东西,但是如何用的舒服和顺利,却也是时间的积累。
比如我现在体会的,把一个模型固定的和易变的东西一定要区分对待,为一个模型留一些扩展的空间,数据传递,键值传递、配置与状态一致等,这些其实都是学问,慢慢去体会,需要用心,也要一直抱着一颗优化代码的心去努力!

3、关于接口
如果说模型是描述外部静态世界语法,那么接口就是描述变化、动作的行为,所以接口同样是有学问的东西。不同的实现类不同的行为特征、不同的约束规则、不同的作用范围,这里同样关乎继承、重写、约束行为、限定范围、多样性设计。接口是行为,模型是对象,都需要规范化并带入思想!
于现在的自己就是把一些模块的功能权限区分,同一个store可能实现不同的接口,在给不同的功能块用的时候,用接口去限定他们的操作权限和使用范围,这边是学问!学着不断重构中去优化自己的逻辑!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,039评论 3 119
  • 题目来源There are a total of n courses you have to take, labe...
    我叫胆小我喜欢小心阅读 1,560评论 0 0
  • 不知道该怎么起头。 第一次收到花了,二十四岁了,居然第一次收到花,不知该作何感受,以前也正了八经谈了两个男朋友,第...
    张佳敏阅读 4,212评论 0 0
  • 牛顿迭代法,听起来十分的高达上,但是他利用的原理可是很简单的。 由于五次及以上多项式方程没有直接的解,于是牛顿就想...
    Vaterda阅读 6,228评论 0 0
  • 歧视是中性词。也就是区别对待。一视同仁只是理想化的状态。人生活在现实里,又能保留理想,两者能够平衡,就是非常好的状态。
    007_6783阅读 812评论 0 0