Описание тега template-method-pattern
The Template Method pattern is a design pattern that defines the program skeleton of an algorithm in a method, called a template method, which defers some steps to subclasses. It is one of the Gang of Four's behavioral design patterns.
3
ответа
Шаблонный шаблон, где каждая реализация требует разных аргументов?
У меня есть базовый абстрактный класс, который нуждается в алгоритме для аутентификации. У меня есть две реализации этого: один будет хэшировать пароль и сравнивать его с сохраненным хэшем, другой будет использовать Windows Active Directory. Но пере…
06 май '14 в 20:03
3
ответа
Соглашения об именах Python для атрибутов и методов, предназначенных для перезаписи
У меня есть некоторый объектно-ориентированный код в Python, где некоторые классы должны быть расширены, чтобы обеспечить отсутствующие пользовательские фрагменты кода (как шаблонный метод, но также с переменными), которые будут использоваться тольк…
18 окт '11 в 14:53
6
ответов
Наследование строк документации методов в Python
У меня есть OO-иерархия со строками документации, которые требуют столько же обслуживания, сколько и сам код. Например, class Swallow(object): def airspeed(self): """Returns the airspeed (unladen)""" raise NotImplementedError class AfricanSwallow(Sw…
11 ноя '11 в 21:26
4
ответа
Каковы сходства между шаблонным методом и шаблонами разработки стратегии
Это пример шаблона TemplateMethod?? public abstract class Character{ public final void useWeapon(){ useBusterSword(); useMateriaBlade(); useUltimateWeapon(); } public abstract void useBusterSword(); public abstract void useMateriaBlade(); public abs…
29 апр '12 в 21:13
0
ответов
Являются ли Eloquent Mutators реализацией шаблонного метода проектирования?
Eloquent Accessors and Mutators ( https://laravel.com/docs/5.5/eloquent-mutators) выглядят для меня как реализация шаблона разработки метода шаблона ( https://sourcemaking.com/design_patterns/template_method) Абстрактная модель имеет несколько метод…
05 фев '18 в 20:01
3
ответа
Что такое "шаблон метода шаблона" в какао с объектом C? (Сравнение языков мышления)
Вот шаблон шаблонного метода, Java и C++ могут легко реализовать его с помощью виртуальной функции. Как насчет Object C для реализации этого шаблона? Любой пример касания какао (iOS)?
29 дек '10 в 02:43
3
ответа
Значение `this` в шаблоне метода шаблона JS
Почему отмеченная строка не может найти protectedACMember? var Module = (function (ns) { function AbstractClass() { this.protectedACMember = "abstract"; this.abstractPublicACMethod = function (input) { this.methodToImplement(); } } ConcreteClass.pro…
29 янв '13 в 13:46
2
ответа
Как совместить шаблон шаблонного метода и множественное наследование?
Могу ли я изменить этот код, чтобы он работал? Можно ли объединить шаблон шаблонного метода и множественное наследование? Кажется, очень удобно реализовывать разные алгоритмы в разных классах. Спасибо. class TBase { public: virtual void Do1() const …
08 июн '12 в 21:12
1
ответ
Шаблонный метод в JavaScript
Я хочу, чтобы в JavaScript, чтобы реализовать шаблон шаблонов метода. У меня есть PropertyDecorator с некоторыми подклассами: OpenButtonDecorator, SeeButtonDecorator и так далее. Я хочу иметь в Property decorator следующую функцию: var build = funct…
08 окт '10 в 15:08
1
ответ
Добавить функциональность в список в Java
Мне нужно добавить следующие функции в любую реализацию List<>: - полученный объект никогда не должен показывать исключение OutOfBounds для положительных индексов - когда вы вызываете get(x) с x=size, он автоматически увеличивает список до размер x+…
09 июл '15 в 11:26
2
ответа
C++: Разница между шаблонами NVI и шаблонами?
В чем разница между шаблонами NVI ( не виртуальный интерфейс) и шаблонным методом? Они кажутся очень похожими, и я прочитал, что они в основном одинаковы, и что они слегка отличаются, так как Template является более общим.
20 июн '10 в 09:20
1
ответ
Почему класс NeverSwitch перекрывает мой класс AlwaysSwitch?
Я использую шаблонный метод. У меня есть драйвер, который предоставляет мне игру, которая создает игру и проходит через один из двух классов переключения: AlwaysSwitch или NeverSwitch. Затем драйвер создает пробную версию Always Switch и отдельную п…
18 фев '19 в 00:54
2
ответа
Шаблонный метод и наследование или композиция
У меня есть следующие занятия: @Data @AllArgsConstructor @NoArgsConstructor public class User { private String name; private int age; } @Data @AllArgsConstructor @NoArgsConstructor public class Admin { private String name; private int age; } И у мен…
22 фев '19 в 09:42
3
ответа
Шаблонный шаблон для статических классов
У меня есть класс утилит, которые выполняют некоторую работу. Очевидно, что он закрыт для расширения и все методы являются статическими. Для простоты класс выглядит так: public final class Util { private Util() { } public static void doWork() { // s…
26 апр '13 в 12:47
5
ответов
Какой самый простой способ удовлетворить чистый абстрактный метод с помощью методов из других базовых классов
Изменить: За некоторые комментарии под простым я имею в виду а) меньше кода, б) простота в обслуживании и в) трудно ошибиться. Редактирование № 2: Кроме того, использование сдерживания вместо частного наследования не является нежелательным, если оно…
12 ноя '11 в 15:32
2
ответа
Реализация шаблонного метода
Примечание. Следующий вопрос касается шаблона разработки метода шаблона и шаблонов функций C++. Чтобы различать оба, я буду использовать курсив при обращении к шаблону проектирования и жирный при обращении к шаблонам C++. Идея шаблона метода шаблона…
16 окт '16 в 20:39
2
ответа
Порядок вызова метода шаблона в python
Каков был бы самый простой способ запустить функцию модульного тестирования? Здесь меня не интересует, что делают fun* функции, но только в том случае, если порядок их вызова правильный. from mock import Mock (many, arguments, four, fun) = ('many', …
22 сен '12 в 16:21
3
ответа
ООП - недопустимое имя класса по умолчанию?
Я реализую шаблонный тип шаблона и у меня есть несколько классов для реализации поведения. В качестве примера моя структура выглядит следующим образом: TemplateAbstract Type CustomType1 CustomType2 CustomType3 Default Класс "Default" содержит поведе…
17 дек '12 в 14:18
2
ответа
Добавление инвариантов в идиоме не виртуального интерфейса
Предположим, у меня есть следующая иерархия, использующая идиому NVI: class Base { public: virtual ~Base() {} void foo() { cout << "Base::foo" << endl; foo_impl(); } private: virtual void foo_impl() = 0; }; class A : public Base { privat…
14 фев '14 в 18:17
1
ответ
Это хорошая практика для реализации Pattern Template Pattern с помощью событий C#?
Сейчас я пытаюсь понять некоторый код, и я нашел шаблон, который кажется мне немного странным. Существует пользовательский класс управления с событием EditorOpen. Сначала я думал, что это имя неверно, потому что оно не заканчивается на "-ing" или "-…
01 июл '09 в 10:57