Мой вопрос здесь не строго связан с языком, это скорее общая концепция программирования.Лучше иметь механизм кэширования внутри или вне класса Factory?
Если у меня есть класс Factory, у которого есть метод для возврата объектов Parser, и эти классы парсеров, я знаю, не нужно создавать экземпляры более одного раза за цикл итерации (за исключением фабрики, конечно).
Лучше с точки зрения использования и разделения объектов создать механизмы кэширования для всех созданных экземпляров Parsers внутри Factory, то есть: во время вызова метода или вне его, когда метод уже вызван?
Заранее спасибо.
См. Также [Принцип единой ответственности] (http://en.wikipedia.org/wiki/Single_responsibility_principle) –
@Tom Brito: Я понимаю принцип, но вам нужно объяснить, как это относится к этой ситуации. –
На самом деле, я отправил его всем, кто видит ваш ответ, а не специально для вас. Принцип относится к ситуации, поскольку он спрашивает, должен ли у его класса быть или нет еще одна ответственность, чем он уже имеет. Следуя этому принципу, ответ отрицательный, механизм кэширования должен быть размещен снаружи, в другом классе. Конечно, это будет зависеть от его проекта, но если он хочет получить образец, это может быть хорошим. –