Конструктор против Фабрики в .NET Framework

Ниже приведена статья об использовании шаблонов в .net framework. Я не уверен, что понимаю жирную часть в выдержке ниже. Подразумевает ли это, что если вы измените детали создания объекта, вы (возможно) измените аргументы конструктора?

В Framework есть много случаев, когда вы можете получить новый экземпляр структуры или класса, не вызывая его конструктор самостоятельно. Класс System.Convert содержит множество статических методов, которые работают следующим образом. Например, чтобы преобразовать целое число в логическое значение, вы можете вызвать Convert.ToBoolean и передать целое число. Возвращаемое значение этого вызова метода является новым логическим значением, установленным в «true», если целое число было ненулевым, и «false» в противном случае. Класс Convert создает логическое значение для вас с правильным значением. Другие методы преобразования типов работают аналогично. Методы Parse в Int32 и Double возвращают новые экземпляры этих объектов, для которых установлено соответствующее значение, заданное только строкой.

Эта стратегия создания новых экземпляров объекта называется шаблоном Factory. Вместо того, чтобы вызывать конструктор объекта, вы можете попросить фабрику объектов создать экземпляр для вас. Таким образом, фабричный класс может скрывать сложность создания объекта (например, как анализировать Double из строки). Если вы хотите изменить детали создания объекта, вам нужно будет только изменить саму фабрику;Вам не нужно менять каждое место в коде, где вызывается конструктор.

Из:http://msdn.microsoft.com/en-us/magazine/cc188707.aspx.

Ответы на вопрос(4)

Ваш ответ на вопрос