程序的扩展性建立在对业务需求变化的预见性之上
2016-08-01 22:15
267 查看
程序的扩展性建立在对业务需求的预见性之上,抛开需求预见性,来谈程序的扩展性是毫无根据的。
think in java中说到:
“确定接口是理想选择,因而应该总是选择接口而不是具体的类”。这其实是一种诱惑。当然,对于创建类,几乎在任何时候,都可以替代为创建一个接口和一个工厂。
许多人都掉进了这种诱惑的陷阱,只要有可能就去创建接口和工厂。这种逻辑看起来好像是因为需要使用不同的具体实现,因此总是应该添加这种抽象性。这实际上已经变成了一种草率的设计优化。
任何抽象性都应该是应真正的需求而产生的。当必需时,你应该重构接口而不是到处添加额外的级别的间接性,并由此带来的额外的复杂性。这种额外的复杂性非常显著。
恰当的原则应该是优先选择类而不是接口。从类开始,如果接口的必需性变得非常明确,那么就进行重构。接口是一种重要的工具,但是它们容易被滥用。
think in java中说到:
“确定接口是理想选择,因而应该总是选择接口而不是具体的类”。这其实是一种诱惑。当然,对于创建类,几乎在任何时候,都可以替代为创建一个接口和一个工厂。
许多人都掉进了这种诱惑的陷阱,只要有可能就去创建接口和工厂。这种逻辑看起来好像是因为需要使用不同的具体实现,因此总是应该添加这种抽象性。这实际上已经变成了一种草率的设计优化。
任何抽象性都应该是应真正的需求而产生的。当必需时,你应该重构接口而不是到处添加额外的级别的间接性,并由此带来的额外的复杂性。这种额外的复杂性非常显著。
恰当的原则应该是优先选择类而不是接口。从类开始,如果接口的必需性变得非常明确,那么就进行重构。接口是一种重要的工具,但是它们容易被滥用。
相关文章推荐
- 企业应用业务需求变化的分析与应对-前言
- 企业应用业务需求变化的分析与应对-常见的业务需求变化
- 关于程序中的需求的变化,责任的分配
- 展示主数据的历史变化的几种业务需求及其实现方法
- 看我如何应对业务需求变化,领域模型调整?
- DDD 领域驱动设计-看我如何应对业务需求变化,领域模型调整?
- 企业应用业务需求变化的分析与应对-业务需求中的逻辑
- 应对业务需求变化?
- 集团信息化之路 在线收款平台需求对接之销售公司业务变化调整
- 需求总是变化,程序总在修改
- iMatrix平台的建设使企业面临IT系统的快速业务需求变化得到改善
- DDD 领域驱动设计-看我如何应对业务需求变化,愚蠢的应对?
- 集团信息化之路 在线收款平台需求对接之销售公司业务变化调整
- 使用 Microsoft Office 将 Visual Studio .NET 的强大功能引入业务解决方案的建立[转]
- 产品需求与客户需求(探讨可扩展性的实现)
- 自动更新程序需求
- 程序编写者思路要变化---献给追求高效和激情的程序员
- 使用Make 程序来建立大型项目的流水线处理
- 利用HOOK建立鼠标增强程序