Design Pattern(S) Команда или Фабрика Что лучше реализовать?

Мы можем решить некоторые проблемы проектирования, реализовав также Factory и Command Pattern. так что по производительности какой лучше?

2 ответа

Решение

Учитывая, что есть некоторые ситуации, в которых применимо и то, и другое, и ни одна из них не приходит в голову, я бы предположил, что ни одна из них не "лучше"; наилучшее решение зависит от проблемы, системы в целом, команды и т. д. Если один из них "лучше", то другой может быть просто отброшен!

Я не уверен, как вы можете решить некоторые проблемы как по фабрике, так и по шаблону команд. Они решают совершенно разные типы проблем.

Абстрактная фабрика обрабатывает создание объектов таким образом, что вы можете легко переключаться между семействами продуктов и обеспечивать согласованность объектов (т.е. не смешивать разные семейства продуктов случайно). Даже если существует только одно семейство продуктов, оно создает гибкую систему, в которой проще управлять созданными объектами.

Фабричный метод откладывает создание объекта на подкласс, так как базовый класс не знает, какой конкретный класс создать. Здесь базовый класс знает, когда создавать объект, но не знает, какой конкретный объект создать.

И Command используется для инкапсуляции запроса, так что вы обрабатываете запрос так же, как другие объекты, например, передаете запрос в качестве параметра другому методу / объекту, ставите в очередь запросы, повторно используете запрос и т. Д. Он не связан с созданием объектов,

Если я не очень сильно ошибаюсь, это отдельные паттерны, которые атакуют отдельные проблемы. Вы можете проверить Шаблоны проектирования от GoF и Head First Design Patters для получения подробной информации об этих шаблонах.

Другие вопросы по тегам