Без какого из шаблонов GoF разве Вы не могли жить?

Сначала выберите базу данных.
использовать test
Затем запросить имя таблицы без имени базы данных.
Выберите * из некоторых;

5
задан Stu Mackellar 31 January 2009 в 00:06
поделиться

12 ответов

Не шаблон разработки, но мне этот принцип был определенно самым влиятельным на моем стиле программирования целой книги:

Состав объекта пользы по наследованию классов.

Объединенный с другим принципом "Программа к интерфейсу, не реализация", большинство шаблонов разработки следует естественно.

При выборе одного шаблона, поскольку самое важное, по-моему, невозможно. У них всех есть своя цель и дополнение друг друга. Как выяснение, если молоток или отвертка более полезны. Это зависит от проблемы, иногда у Вас есть гвоздь и иногда винт.

21
ответ дан 18 December 2019 в 05:29
поделиться

Мне нравится шаблон состояния. Это хорошо для моделирования, ну, в общем, указывают. Для игрового проекта я пишу, я использую иерархии состояния для отслеживания игровое состояние. Это просто, но очень гибко.

2
ответ дан 18 December 2019 в 05:29
поделиться

Шаблон "наблюдатель"

3
ответ дан 18 December 2019 в 05:29
поделиться

Шаблон "абстрактная фабрика" или Шаблонный Шаблон Метода..., но главным образом Шаблон "абстрактная фабрика". Они только что были чрезвычайно полезны на большом количестве ситуаций.

Мне особенно понравился способ, которым Фабрика Краткого обзора позволяет Вам готовиться к ситуациям, где Вы знаете, что Ваша программа может изменить в будущем следующим те же правила по-другому.

Главным образом похож на Абстрактный класс, позволяет Вам определять спецификации "в" коде, ограничивать код для следования за этим спецификации, в то время как фабрика позволяет Вам "выбирать" среди тех спецификаций. Просто красивый.

3
ответ дан 18 December 2019 в 05:29
поделиться

Я сказал бы Шаблон "декоратор". Главным образом, потому что это уже используется так в большой степени в платформах.

Например, если Вы когда-либо писали код как это:

FileStream file = new FileStream("file.txt");
GZipStream compression = new GZipStream(file);
TextReader reader = new TextReader(compression);
reader.ReadAll();

Затем Вы использовали Шаблон "декоратор".

2
ответ дан 18 December 2019 в 05:29
поделиться

Если бы я должен был выбрать один, то я пошел бы с изображением M.C.Escher на обложке, чтобы поставить стену.;)

1
ответ дан 18 December 2019 в 05:29
поделиться

Это - трудный вопрос, потому что, я нашел, что, когда я изучал шаблоны, я реализовывал много систем очень подобным способом ко многим шаблонам разработки (особенно более фундаментальные, такие как creational шаблоны, или состояние, и стратегия и шаблон).

Теперь, когда я знаю о GoF, я не могу разделить в моем уме, какие шаблоны я не обнаружил бы естественно, и мне, именно это делает хороший шаблон. Хороший шаблон является тем, который является столь естественным, что Вы пишете код с помощью шаблона, потому что это - хорошее решение.

Шаблоны просто дают нам способ говорить о наших стратегиях создания решений на общем диалекте. Я знаю, что не отвечал на Ваш вопрос так я applogize.

1
ответ дан 18 December 2019 в 05:29
поделиться

Поведенческие модели:

  • Состояние, когда моя бизнес-логика является distribued;
  • Стратегия, когда изменение контекста алгоритм;
  • Итератор, когда я считал набор объектов;
0
ответ дан 18 December 2019 в 05:29
поделиться

Мне нравится Шаблон "посетитель". Несколько раз я имел проблему проектирования и не мог действительно решить ее, пока я наконец не нашел, что Шаблон "посетитель" был ответом.

Можно добавить любую функциональность к классу, не имея необходимость изменять его! Просто поместите принятие () функция там.

1
ответ дан 18 December 2019 в 05:29
поделиться

Слушатель или Шаблон "наблюдатель".

Не может предположить, что мой жизненный опрос для материала проверяет, произошло ли это.

Другие:

  1. Адаптер (это очень полезно, если Вы не хотите касаться кода, который работает, но у Вас нет времени, чтобы понять, как, или Вы просто не знаете),
  2. Состояние
  3. Стратегия
1
ответ дан 18 December 2019 в 05:29
поделиться

Я должен был бы сказать Шаблон "одиночка". Сколько раз Вам нужен тот один экземпляр класса, который Вы используете много раз! Это можно считать Антишаблоном, но это - то, которое я часто использую.

Снова Шаблон "абстрактная фабрика" является также тем, который я использую все время, и честная разработка сохранила меня часы рефакторинга позже, когда мы должны реализовать новый набор требований.

0
ответ дан 18 December 2019 в 05:29
поделиться

Один я не могу жить без, Итератор. Я ежедневно использую его. Я могу едва вообразить жизнь без него :-) Моим вторым самым используемым является Декоратор/Обертка.

0
ответ дан 18 December 2019 в 05:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: