Возможный дубликат:
Интерфейс против абстрактного класса (общий объектно-ориентированный )
Привет, эксперты!
Я читаю заводские выкройки
- На основе статьи: http://aspalliance.com/809_Working_with_Factory_Design_Pattern_using_C
Мы определяем интерфейс, интерфейс реализуется классами. На основе определенного атрибута мы решаем, какой класс создается.
- Посмотрел другую статью - http://csharpdesignpatterns.codeplex.com/wikipage?title=Factory%20Method%20Pattern&referringTitle=Home
Мы определяем абстрактный класс и реализуем его в подклассах.
Оба приведенных примера совершенно разные. Основываясь на основных принципах, которые я помню.
- Когда мы используем интерфейс - когда нам нужно реализовать полиморфное поведение
- Когда мы используем абстрактный класс - для обеспечения базовой функциональности по умолчанию
Помогите мне понять, как использование взаимодействий и абстрактных классов называется фабричным шаблоном?
Верны ли эти два подхода?
Приносим извинения за проблемы с форматированием.
заранее спасибо