Каждый раз звонить Assembly.LoadFrom
будет медленным способом сделать это.
Я бы предложил, чтобы, если вы хотите пойти по пути создания собственных фабричных классов, вы делаете кеширование Type
экземпляра для классов, которые вы активируете.
Еще лучше, я бы посоветовал взглянуть на структуру внедрения зависимостей. Если вы не знакомы с внедрением зависимости (DI), см. http://en.wikipedia.org/wiki/Dependency_injection.
Большинство фреймворков, по крайней мере, обеспечивают фабрики объектов, кэширование типов и автоматически разрешают зависимости конструктора. Это здорово, потому что вам не нужно заново изобретать колесо, и вы можете использовать одну и ту же методологию во всех своих приложениях, если хотите.
Если вы намеренно проходите процесс создания фабрики объектов, я бы посоветовал вам в любом случае взглянуть на эти реализации с открытым исходным кодом, поскольку они являются отличными примерами того, как DI работает хорошо.