编程非易事
STST
昨天看到这个观点,感同身受,大家讨论下
XQ
分解成小问题:进行抽象并降低耦合性。
STST
恩,所以强调
XQ
代表这一种思维方式:复杂问题简单化。
如何把小模块组合成大系统也很见功力。
STST
当然,无论什么问题,都是如何把问题逐步求精的过程,我们学数学,物理,化学也是这样
复杂问题必须简单化以后才能求解
模块合并的关键在于,小模块之间的正交性如何,具有正交性的多个模块进行合并,是很容易达到目的的
北京-刘宏宇-JAVA
也是自上而下和自下而上两种策略的完美结合
BC
这里的正交性是什么意思啊
STST
我认为;
面向对象设计:自上而下,关注概念上的分解
面向过程设计:自下而上,关注行为上的组合
正好把各自的优势体现出来
STST
正交性指各个模块的功能独立,可以独立变化
TA
STST
正交性举例来说:
手动挡的汽车,正交性比较低,因为在启动的时,除了加油模块要变化以外,离合器还要同时变化
BC
哦
STST
而自动档的汽车正交性高一些,加油模块和离合模块不需要同时变化
只需要加油就行
正交性这样解释还清楚吗?
BC
很清楚,谢谢啊
STST
所以手动挡车开起来困难一些,因为你需要同时考虑多个变换
WH
正交性可以理解为耦合度
STST
而自动档不需要,加速只需要关心油门,减速只需要关心刹车,和耦合还不等同
WH
恩,简单解释可以这么理解,的确不是等同
STST
耦合性的高和低,决定了把一个模块隔离出来的难度
正交性的高和低,决定了把多个模块组合起来的难度
这是我的理解
WH
你非常适合当大学的老师,尤其是如果这些体会都来自于你工作实践的话
浮沙之上勿筑高台