[技术讨论]再谈开发中的灵活性问题

来源:互联网 发布:html 5 编辑软件 编辑:程序博客网 时间:2024/04/28 12:08
前面有一篇文字谈到了:《[全程建模]软件工程请勿维名词论》(http://blog.csdn.net/qingrun/archive/2008/11/27/3389688.aspx),今天一个在深圳的弟兄提出了一个关于原则使用的问题,贴在这里,总结一句话就是:
实际开发的代码中,请考虑你的投入和产出,有很多原则是需要变通使用的,或者说灵活使用的。

楼阳照 21:26:08
哈哈
楼阳照 21:26:12
出来~~!!
楼阳照 21:26:30
满大水了~~~
楼阳照 21:27:11
再潜,小心被水冲走~
青润 21:31:32
??
青润 21:31:35
怎么了?
楼阳照 21:31:54
哈哈~终于出来了
青润 21:31:59
正在卸载东西
青润 21:32:05
你怎么了,今天这么高兴.
楼阳照 21:32:11
你看过敏捷开发的吧?
青润 21:32:11
看过.
楼阳照 21:32:24
没有很开心啊~
楼阳照 21:33:00
那个,依赖倒置原则是不是要把接口设计的很好才行?
青润 21:33:38
那是OO设计原则,不是什么敏捷.
楼阳照 21:33:58
敏捷里也有..
青润 21:34:08
肯定会用到,但是这不是敏捷独有的.
青润 21:34:13
这是OO设计原则之一.
楼阳照 21:34:20
恩,
楼阳照 21:34:59
知道这个.我是想知道要是接口没设计好,用依赖倒置是不是会很麻烦?
楼阳照 21:35:10
我用的时候有这种感觉
青润 21:35:22
我很久没用了,我看一下我以前的培训PPT,再给你解释.
楼阳照 21:35:30
增加接口很繁琐
楼阳照 21:35:35

青润 21:37:56
 
楼阳照 21:38:23

楼阳照 21:38:28
这是原则
青润 21:38:33
你是打算如何做?
楼阳照 21:38:56
我找到的一点资料
楼阳照 21:38:58
首先要问的是: 依赖真的要倒置吗? 客户真的是上帝吗?

如果只有一个供应商, 有很多客户, 谁是上帝呢?
显然, 供应商是上帝, 他制定产品标准。
如果有很多供应商, 只有一个客户, 谁是上帝呢?
显然, 客户是上帝, 他主导产品标准。
如果有很多供应商, 有很多客户, 谁又是上帝呢?
显然,行业协会是上帝, 他制订产品标准。


如果只有一个实现者, 有多个使用者, 谁拥有接口呢?
显然, 是实现者。
如果只有一个使用者, 有多个实现者, 谁拥有接口呢?
显然, 是使用者, 他主导接口定义。
如果有多个实现者, 有多个使用者, 谁拥有接口呢?
显然, 是第三方。

如果只有一个供应商, 只有一个客户, 谁是上帝呢?
如果把供应商和客户作为一个系统看待, 标准应该向系统的核心倾斜。

如果只有一个实现者, 一个使用者, 谁主导接口定义呢?
向核心倾斜。看谁是系统的核心。
青润 21:39:23
呵呵.
楼阳照 21:39:32
我在用的时候.发现用依赖倒置.要增加一个空的虚函数接口
青润 21:39:34
其实这些原则的使用都是需要灵活考虑的.
青润 21:39:43
是的.
楼阳照 21:40:04
如果没处理好,调试的时候哪出错都不知道
青润 21:40:30
恩?
楼阳照 21:40:44
所以我觉得,要是没有多个使用者的话.还不如不用
楼阳照 21:41:00
直接NEW出来好点..
青润 21:41:01
如果你确定今后就一个使用者,不会扩充,那就不需要用.
青润 21:41:12
没有必要什么都是原则,要看如何才能更快捷的解决问题.
楼阳照 21:41:28
所以问题就在这.
楼阳照 21:41:43
没人知道以后会不会扩展
楼阳照 21:41:57
也不知道要不要增加接口
青润 21:42:33
没有人知道的话,那目前就按照实现效率和性能最快的方式来做实现.
青润 21:42:52
增加一层接口定义,必然会带来效率上的影响和开发上的调试复杂度.
楼阳照 21:43:09
如果全用这个,会很繁琐.如果不用,以后要重新加回去就要重构
青润 21:43:30
以后的事情,目前无法定义.
青润 21:43:45
说不定人家不重构,直接建议领导扔掉你的代码重来呢.
楼阳照 21:43:50
你的意思是,等重构的时候来做这个抽象 ?
青润 21:44:01
到时候再作一次封装,也是可以的.
楼阳照 21:44:19
恩,那我就明白了
楼阳照 21:44:50
这些方法只是一种理念而已,没必要非得这么干
青润 21:45:09
当然不是非要如此干,干活的时候要根据情况考虑,需要变通的做事.
楼阳照 21:45:21
了解
楼阳照 21:45:40
公司有人到死胡同了..
楼阳照 21:45:44
嘿嘿:)
青润 21:45:41
我们要做的是解决问题,……(此处省略一些话,有些话写出来太反动了,青润自己自动屏蔽)
青润 21:46:05
原则之上,需要灵活使用.这才是最好的解决方式.
楼阳照 21:46:18

楼阳照 21:46:20
了角
楼阳照 21:46:21

青润 21:46:21
呵呵.
楼阳照 21:47:14
今天可以安稳睡了..
青润 21:47:19
呵呵.
楼阳照 21:47:33
昨天翻了整个GOOGLE
楼阳照 21:48:03
很少有人说这个原则
青润 21:48:45
唯模式论,唯原则论,为概念论,有其好处,但是,不能过于死板.否则,就是自寻死路.
青润 21:48:57
毕竟我们不是搞研究,我们是做软件成品的人.
楼阳照 21:49:17
同意~
楼阳照 21:49:52
好处很多.坏处也有,看自己怎么用
青润 21:50:18
呵呵.
楼阳照 21:50:24
在游戏公司呆了一年,学了C++
楼阳照 21:50:26
呵呵
楼阳照 21:50:56
还没学会用C OO
青润 21:51:23
恩.
楼阳照 21:51:48
不打搅了:)
青润 21:52:02
早点休息吧.我还在装一个东西.
楼阳照 21:52:29
谢谢白老大~哈哈~~我够客气吧:)
楼阳照 21:52:39

青润 21:53:18
呵呵.
原创粉丝点击