关于设计模式的问题
在我的程序中有很多种类的模型,如cat,dog,fish,bird等等
每个模型又会有很多实例(instance),这些模型有很多相同的行为如eat()
但也有一些特有的属性,如cat和dog都会run()
如果我希望所有的模型都eat()的话,那我需要对每种模型都用一个for或while循环遍历
如果模型很多且eat这种行为也很多的话,会使我的程序代码变得很长
能不能通过一个循环,遍历所有的模型,调用所有模型的成员函数eat()
一种方法是实现一个公共的基类animal,之后所有的模型都从这个基类派生
cat:public animal;
dog:public animal;
……
这能解决大部分问题,但是,当我需要调用所有会run模型的时候,我还是需要通过2个循环
分别遍历cat和dog,如果还是通过再建立一个基类runAnimal来派生cat和dog的话,会不会使
程序的继承结构过于复杂从而降低性能,另外,当cat和fish有着共同的行为fly的时候又怎么办
我希望能通过一种统一的方式调用这些成员函数而不是对每种模型进行循环,请问这是不是可以实现
用什么样的设计模式可以实现,谢谢
每个模型又会有很多实例(instance),这些模型有很多相同的行为如eat()
但也有一些特有的属性,如cat和dog都会run()
如果我希望所有的模型都eat()的话,那我需要对每种模型都用一个for或while循环遍历
如果模型很多且eat这种行为也很多的话,会使我的程序代码变得很长
能不能通过一个循环,遍历所有的模型,调用所有模型的成员函数eat()
一种方法是实现一个公共的基类animal,之后所有的模型都从这个基类派生
cat:public animal;
dog:public animal;
……
这能解决大部分问题,但是,当我需要调用所有会run模型的时候,我还是需要通过2个循环
分别遍历cat和dog,如果还是通过再建立一个基类runAnimal来派生cat和dog的话,会不会使
程序的继承结构过于复杂从而降低性能,另外,当cat和fish有着共同的行为fly的时候又怎么办
我希望能通过一种统一的方式调用这些成员函数而不是对每种模型进行循环,请问这是不是可以实现
用什么样的设计模式可以实现,谢谢
...全文
相关推荐
DesignPattern设计模式迷你手册CHM
设计模式是软件工程中的一种重要思想,它是在特定情境下为了解决常见问题而形成的一套最佳实践。
DesignPattern:设计模式样本
DesignPattern:设计模式样本"这个项目可能包含了各种设计模式的实现示例,特别是对Java中的Singleton模式进行了深入探讨。
DesignPattern:设计模式代表了经验丰富的面向对象软件开发人员所使用的最佳实践。设计模式是针对软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是在相当长的一段时间内由众多软件开发人员通过反复试验而获得的
设计模式设计模式代表了经验丰富的面向对象软件开发人员所使用的最佳实践。设计模式是针对软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是由众多软件开发人员在相当长的一段时间内通过反复试
DesignPattern-321:参考-头先设计模式
在软件开发领域,设计模式是一种经过验证的、通用的解决方案,用于解决常见编程问题。"
DesignPattern
**设计模式的基本概念** 设计模式并非具体的代码或库,而是一种描述在特定上下文中解决常见问题的模板。它包括三个主要元素:模式名称、问题以及解决方案。


模式及实现
