Один использованный класс против «статического класса» - PullRequest
0 голосов
/ 03 декабря 2010

У меня есть программа, которая обрабатывает различные объекты, у которых есть свой собственный набор команд (скажем, их собственная программа), и из основного класса я хочу запустить эти программы.Тогда у меня есть два варианта:

  • Создать класс InstructionHandler, создать его экземпляр в моем основном классе и передать запросы этому одному объекту [шаблон Singleton - благодаря Марку Петерсу]
  • Создайте класс InstructionHandler с помощью только статических методов и используйте их в моем основном классе

Что было бы хорошим способом перейти с точки зрения разработки программного обеспечения?

Ответы [ 2 ]

0 голосов
/ 03 декабря 2010

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

0 голосов
/ 03 декабря 2010

Рассматривали ли вы использование шаблона интерпретатора ? Можно ли комбинировать наборы инструкций для каждого объекта для создания некоторой грамматики?

...