Шаблон проектирования Java - PullRequest
3 голосов
/ 30 марта 2012

Я новичок в разработке шаблона. У меня есть небольшой проект, в котором классы Java используют фиктивные данные, когда они не подключены к серверу. У меня есть условие if в классе, которое переключается между фиктивными данными и данными сервера в зависимости от флага. Есть ли лучший способ, которым это может быть реализовано?

Ответы [ 5 ]

4 голосов
/ 30 марта 2012

Вместо того чтобы управлять своим кодом с помощью оператора if, вы должны написать интерфейс, который определяет все методы, которые вам понадобятся для взаимодействия с сервером, и ссылаться на этот интерфейс вместо конкретной реализации. Затем пусть ваши «фиктивные данные» реализуют этот интерфейс.

Преимущество этого в том, что ваш код будет написан так, что не зависит от реализации сервера. Это позволит вам изменить детали на сервере без изменения реализации вашего клиента.

1 голос
/ 30 марта 2012

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

1 голос
/ 30 марта 2012

Вам необходим Объект доступа к данным или объект, который действует как прокси между запрашивающей программой и данными.

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

На этом изображении , «Бизнес-объект» - это ваша программа, «Объект доступа к данным» - это реконфигурируемый привратник, «Объект переноса» - это представление объекта запрашиваемых данных, и «Источник данных» - это интерфейс, который вы ранее использовали для получения данных. Как только «Объект доступа к данным» будет создан, нетрудно добавить к нему код для «выбора» нужного источника данных (DummyDataSource, FileDataSource, JDBCDataSource и т. Д.).

0 голосов
/ 02 марта 2016

Proxy_pattern подходит лучше всего для вашего случая использования.

Короче говоря, прокси - это объект-оболочка или агент, который вызывается клиентом для доступа к реальному обслуживающему объекту.за кулисами.

enter image description here

Вы можете найти объяснение примера учебного руководства здесь:

Proxy Design Pattern- пример tutorialspoint.com

Взгляните на статьи ниже

oodesign proxy

уроки point прокси

пример создания исходного прокси

пример прокси dzone

0 голосов
/ 30 марта 2012

Если вам нужен шаблон проектирования, тогда Шаблон состояния - это то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...