В чем принципиальная разница между фабричным и абстрактным шаблонами? [закрыто]

Я думаю, что лучше всего использовать посредника, например веб-службы, или собственный логический уровень на основе TCP для вашего приложения, которое будет подключаться к серверу SQL и выполнять запросы вашей заявки. Не пытайтесь подключиться к вашему SQL-серверу напрямую с Android. Вы можете написать некоторый код на вашем сервере (или веб-сервисе), а затем вызвать эти методы кода с вашего устройства Android с помощью Http.

А также есть много тем в stackoverflow, например your:

О том, как писать веб-сервисы. Это большой вопрос, и вы должны выбрать технологию, есть очень много библиотек, фреймворков и платформ, которые помогут вам просто написать веб-сервис. Вы должны выбрать протокол связи, это может быть SOAP, WSDL или, возможно, удалить процедуру вызова, это может быть приложение для отдыха. Если вы используете Java-стек, на данный момент есть несколько популярных фреймворков:

Вы можете начать с чтения веб-службы:

Также некоторые ссылки, которые предоставляют пример доступа к веб-службам от android:

468
задан Community 24 May 2019 в 19:50
поделиться

4 ответа

С помощью шаблона Factory вы создаете экземпляры реализаций ( Apple , Banana , Cherry и т. Д.) Определенного интерфейса - скажем, IFruit .

С шаблоном Абстрактная фабрика вы предоставляете возможность любому предоставить собственный завод. Это позволяет вашему складу быть либо IFruitFactory , либо IJuiceFactory , не требуя от вашего склада каких-либо сведений о фруктах или соках.

404
ответ дан 22 November 2019 в 22:49
поделиться

Шаблон абстрактной фабрики

  • Обеспечивает интерфейс для создания семьи родственников или иждивенцев объекты без указания их конкретных классов.

  • Паттерн Абстрактная фабрика очень аналогично заводскому методу шаблон. Одно различие между два - это с абстрактной фабрикой шаблон, класс делегирует ответственность объекта создание экземпляра для другого объекта через композиция, тогда как Фабрика Шаблон метода использует наследование и полагается на подкласс для обработки создание желаемого объекта.

  • Фактически, делегированный объект часто использует фабричные методы для выполнить инстанцирование!

Заводской шаблон

  • Заводские шаблоны являются примерами творческие паттерны

  • Творческие паттерны абстрагируют процесс создания экземпляра объекта. Oни скрыть способ создания объектов и помочь сделать всю систему независимой о том, как создаются его объекты и

  • Образцы создания классов сосредоточены на использование наследования для решения объект для создания экземпляра Заводской метод

  • Шаблоны создания объектов сосредоточены на делегирование экземпляра к другому объекту Абстрактная фабрика

Ссылка: Factory vs Abstract Factory

42
ответ дан 22 November 2019 в 22:49
поделиться

Заводской шаблон: Фабрика производит IProduct-реализации

Шаблон абстрактной фабрики: Фабрика-фабрика производит IFactories, которая, в свою очередь, производит продукцию IP :)

[Обновление согласно комментариям]
То, что я написал ранее, не соответствует Википедии по крайней мере. Абстрактная фабрика - это просто фабричный интерфейс. С его помощью вы можете переключать свои фабрики во время выполнения, чтобы разрешить разные фабрики в разных контекстах. Примерами могут быть разные фабрики для разных ОС, провайдеры SQL, промежуточные драйверы и т. Д.

97
ответ дан 22 November 2019 в 22:49
поделиться

Источник этой информации взят из: http://java.dzone.com/news/intro-design-patterns-abstract

Абстрактная фабрика против фабрики Метод

Методы абстрактной фабрики реализованы как фабричные методы. И шаблон абстрактной фабрики, и шаблон фабричного метода отделяют клиентскую систему от реальных классов реализации посредством абстрактных типов и фабрик. Фабричный метод создает объекты посредством наследования, тогда как Абстрактная фабрика создает объекты посредством композиции.

Шаблон «Абстрактная фабрика» состоит из AbstractFactory, ConcreteFactory, AbstractProduct, ConcreteProduct и Client.

Как реализовать

Шаблон абстрактной фабрики можно реализовать с помощью шаблона фабричного метода, шаблона прототипа или шаблона синглтона. Объект ConcreteFactory может быть реализован как Singleton, поскольку требуется только один экземпляр объекта ConcreteFactory.

Шаблон Factory Method - это упрощенная версия шаблона Abstract Factory.Шаблон Factory Method отвечает за создание продуктов, принадлежащих к одному семейству, а шаблон Abstract Factory работает с несколькими семействами продуктов.

Фабричный метод использует интерфейсы и абстрактные классы для отделения клиента от класса генератора и получаемых продуктов. В Abstract Factory есть генератор, который является контейнером для нескольких заводских методов, а также интерфейсы, отделяющие клиента от генератора и продуктов.

Когда использовать шаблон заводского метода

Используйте шаблон заводского метода, когда есть необходимость отделить клиента от конкретного продукта, который он использует. Используйте фабричный метод, чтобы снять с клиента ответственность за создание и настройку экземпляров продукта.

Когда использовать шаблон "Абстрактная фабрика"

Используйте шаблон "Абстрактная фабрика", когда клиенты должны быть отделены от классов продуктов. Особенно полезно для настройки и модификации программ. Шаблон «Абстрактная фабрика» также может накладывать ограничения на то, какие классы должны использоваться с другими. На строительство новых бетонных заводов может потребоваться много работы.

Примеры:

Абстрактная фабрика, пример 1

Эта спецификация для дисков для приготовления различных типов макарон в макаронном аппарате - это абстрактная фабрика, а каждый конкретный диск - это фабрика. все фабрики (диски для изготовления макаронных изделий) наследуют свои свойства от абстрактной фабрики. Каждый отдельный диск содержит информацию о том, как создавать макароны, а производитель макаронных изделий - нет.

Абстрактная фабрика, пример 2:

Штамповочное оборудование соответствует абстрактной фабрике, поскольку это интерфейс для операций, которые создают абстрактные объекты продукта. Штампы соответствуют бетонной фабрике. , поскольку они создают конкретный продукт. Каждая категория деталей (капот, дверь и т. д.) соответствует абстрактному продукту. Конкретные детали (например, дверь со стороны водителя для Camry 99) соответствуют { {1}} ЖБИ.

Пример фабричного метода:

Компания по производству игрушек соответствует Создателю, поскольку она может использовать фабрику для создания объектов продукта. Подразделение компании по производству игрушек, которое производит определенный тип игрушки (лошадь или автомобиль), соответствует ConcreteCreator.

142
ответ дан 22 November 2019 в 22:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: