问题标签 [template-method-pattern]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1418 浏览

php - 何时使用模板方法模式

您好我有一个问题,我必须对不同的数据集执行类似的步骤/操作(略有不同)(数据的结构也可能略有不同)。我需要执行几个步骤:连接、验证、根据需要构建错误消息、将数据结构更改为设定的格式并输出结果。

我正在查看模板方法模式,它看起来很适合这个 - 这听起来正确还是有更好的方法来解决这类问题?

我的目标是一种设计,可以轻松地将新数据集添加到系统中而不会破坏任何东西,并且可以更改错误报告等,而不会对系统产生太大影响。

我正在使用 php。

0 投票
4 回答
238 浏览

design-patterns - 私有方法模式的私有覆盖?(答案:NVI)

什么是被接受的行话(如果有的话)来描述只能虚拟调用的方法以及从基础中的其他方法调用的方法?我偶尔会看到这被称为回调,但这似乎与该术语的原始定义相去甚远。我什至不确定这是否值得被称为模式,但我试图在评论我的代码时变得更加精确。谢谢您的帮助!

摘要:这似乎被称为非虚拟接口模式,是模板方法模式的一个特例。感谢尼克和史蒂文的帮助!

0 投票
2 回答
367 浏览

java - 具有 3 种模式的 Java 客户端/服务器应用程序

我是一名大学生,我必须在月底之前完成以下任务......我必须用java编写一个实现3种模式的客户端/服务器应用程序:好莱坞原则外观模式模板方法模式......它必须至少有3-4 个域对象......数据库必须是 MS Access(我知道,我知道......)我应该查看的任何建议或资源,一些类似的工作,因为我不知道从哪里开始? 我正在考虑制作图书馆应用程序。我很感兴趣你会使用什么域对象以及你将如何开始......

0 投票
1 回答
5256 浏览

c++ - typedef 从纯抽象基继承

编辑:发现重复

我已经将一些问题代码缩减为最简单的工作案例来说明以下内容:我在纯抽象基类中的 typedef 没有被派生类继承。在下面的代码中,我想将system_ttypedef 继承到ConcreteTemplateMethod

此代码按预期编译和运行。以下ConcreteTemplateMethod是必需的,当删除时会导致编译器错误:

但是请注意,该system_t类型已经typedef在基类中。为什么在继承时必须包含另一个 typedef?

我意识到我可以通过 using限定system_t派生中的类型名,但这有点冗长,我想避免每次继承并需要使用相同的 . 有没有办法可以在基础中定义?ConcreteTemplateMethodtypename TemplateMethod< Analyzer<T> >::system_t&typedefsystem_tTemplateMethod

0 投票
4 回答
566 浏览

c++ - c++中的模板方法模式和长参数列表

在对我最后一个问题的有用答案之后,我开始对具有许多不同选项的类使用模板方法模式。在没有全部实现它们的情况下,我当前对该类对象的声明现在看起来像这样:

您如何处理长模板参数列表?我应该使用枚举/定义而不是真/假和数字吗?有没有常用的替代品?

0 投票
1 回答
4520 浏览

javascript - javascript中的模板方法

我想在 javascript 中实现模板方法模式。

我有一个带有一些子类的 PropertyDecorator:OpenButtonDecorator、SeeButtonDecorator 等等。我想在属性装饰器中有下一个功能:

我怎样才能让这个场景工作?也许我实现了错误的继承:S(也有帮助:))

先感谢您。

0 投票
2 回答
4932 浏览

design-patterns - 模式策略、访问者和模板方法有什么区别?

我正在上课,我们刚刚了解了这些设计模式。但是我看不出它们之间有什么区别。它们听起来很像,在抽象类之上创建具体类。有人可以帮我消除这个疑问吗?谢谢 (:

0 投票
3 回答
1667 浏览

objective-c - 带有 Object C 的可可中的“模板方法模式”是什么?(语言比较思维)

这是模板方法模式,Java和C++可以很容易地用虚函数实现它。对象 C 如何实现这种模式?可可触摸(iOS)中的任何示例?

0 投票
4 回答
8279 浏览

design-patterns - 构建器模式和模板方法之间的差异(构建器与模板)

模板模式在基类中提供算法,其步骤可以在派生类中修改。在构建器模式中,具体构建器公开了用于构建产品的方法,这些方法从 Director 类中调用。

我了解使用这些模式的目的有所不同。模板模式是一种行为模式,它改变模板中的一个或多个步骤,而构建器模式是一种创建模式。

除了上面所说的不同,还有其他的不同吗?

构建器模式中的主管不是作为模板模式中的基本模板。具体的构建器就像模板模式中的派生类一样,具有可替换的步骤?

有人可以澄清一下。谢谢你。

我指的是http://www.dofactory.com/Patterns/Patterns.aspx

0 投票
3 回答
2705 浏览

java - 具有实现特定参数类型的模板方法模式

当我想使用模板方法模式时,我经常遇到这种情况,但是模板方法需要不同类型的参数,如下所示:

这看起来不太好。提供的参数之一必须为空,并且所有服务都必须为其他类型实现虚拟 doProcess 方法。有没有更好的模式呢?你怎么处理这个?我不想使用构造函数,因为这些服务是 spring bean。同样的问题也适用于策略模式。