首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该使用继承自可实例化类的单例类,还是有另一种更好的模式?

我应该使用继承自可实例化类的单例类,还是有另一种更好的模式?
EN

Stack Overflow用户
提问于 2011-05-04 07:17:07
回答 1查看 697关注 0票数 0

我有一个名为ArtificialIntelligenceBase的类,您可以在其中创建自己的人工智能配置,将一些变量发送到构造器,或者创建一个继承自ArtificialIntelligenceBase的类,在这个新类的构造器中,只需使用配置的参数调用函数super()。

我还在AIPassive、AIAgressive和AIDefensive类中创建了一些人工智能的示例。显然,所有这些都是从ArtificialIntelligenceBase继承的。

关键是基类中只有很少的公共函数。基类中的变量是只读的,非公共函数是受保护的,以防在创建另一个预定义的AI时需要对它们进行一些修改。

您还可以创建另一个AI,只需调用基类并在构造函数中发送一些参数,如下所示: new ArtificialIntelligenceBase(param1,param2,param3,param4);

我已经考虑过将类设置为单例,因为类永远不会改变,一旦设置,它们的变量就永远不会改变。

问题是:单例模式是做这件事的最佳模式吗?因为我不确定。

PD:你不需要解释任何模式,只要提到名字,我就会搜索它是如何工作的

PPD:我正在用AS3进行开发。以防万一

谢谢

EN

回答 1

Stack Overflow用户

发布于 2011-05-04 07:24:29

一般而言,singletons are evil。在您的例子中,我也看不到任何使用单例的理由。听起来您正在使用自己版本的factory method模式(以某种方式使用构造函数?)或者是prototype (我一点也不了解AS3 ),但是如果你正在寻找其他的模式,还有几个是abstract factorybuilder

但是,您不需要使用单例模式来限制自己在每种类型的类中只使用一个实例。这无助于避免冗余。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5876821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档