理论上,一个系统的设计如果有多种方案,应该是很容易决定出优劣的,但是现实往往不是这样,需要考虑很多种因素。
- 参与决策的人的设计风格不同,有的喜欢Properties式的无约定扩展风格,有的喜欢超级父类式的运行时多态风格,还有的喜欢根据功能不断增加的API不断对应增加的风格,当然还有其他的一些根据三种风格的变种的风格。
- 实现系统的人的能力和背景不同,某些很好的设计对于他们来说难度较大,因为实现的人不能充分的理解设计者的意图,最终好的设计变成糟糕的实现。
- 时间约束,项目的时间很紧,某些设计方案需要做比较多的架构和框架方面的东西才能做业务方面的东西,导致前期更高级别的人看不到项目的直接而且直观的结果。
- 需求的不确定,很多设计都是根据当前和可预见的需求来设计的,但是如果需求非常的不确定,很难决定那种设计更好,不同的关键需求的变更可能导致某些关键设计的失败。
- 技术风险,某些设计存在一些技术风险,设计还没有成熟的先例,在大规模系统情况下存在不可预见的技术瓶颈。
(Visited 293 times, 1 visits today)
2010年3月8日 at 11:53
:em51: 请问楼主,你喜欢和擅长那种设计方式?
2010年3月8日 at 13:46
超级父类式的运行时多态 :em20: