Advertisement

策略模式(面向接口编程)

阅读量:

编程实现中的局限性分析

以动物界为例,我们尝试编写一段程序代码,其中应包含如下组成部分:鸭子的基类、多个鸭子的子类以及若干方法的实现。
常见的编程逻辑
1、定义一个基础类Duck,并在其中编写若干方法,例如用于飞行的fly()方法和用于叫声的quack()方法。
2、创建继承自Duck类的多个子类,如绿头鸭MallardDuck。
3、在各个子类中对上述两个方法进行重新定义与实现。
此类编程方式存在的问题
1、代码复杂度高
当程序规模较小且内容稳定时,这种写法似乎不会带来任何困扰,在实际运行过程中也不存在错误。然而,若将鸭子种类数量增加至一万种,则需要重复编写一万次相同的方法,显然这会耗费大量时间和精力。此外,若需调用一万次fly()方法,则意味着要重复书写一万次对象名.fly()这样的调用语句,同样会造成代码冗余的问题。
2、可维护性差
假设你已经着手编写这一万种鸭子类,并接近完成时,上级却提出fly()方法需要修改,此时你可能会感到非常棘手。因为这类代码一旦完成就难以更改,灵活性极低。
简要分析:以上所描述的代码形式属于硬编码类型,在编写阶段就存在大量重复内容;而在完成之后几乎无法进行调整和优化,因此难以满足现代软件开发中对版本持续更新的需求,有必要重新审视并调整原有的编程策略

全部评论 (0)

还没有任何评论哟~