2015-03-03 3 views
-1

Я работаю недавно в проекте JAVA EE, где я должен проверить и понять существующий код. Архитектура проекта Core,DAO,Manager,Web ... В Core мы должны написать класс POJO, который позже будет сохраняться! Что я не понимаю, почему разработчик сначала использует интерфейс для определения User, где он просто раскрывает какой-то важный метод, используемый другим модулем (Web ...), тогда он определяет реализацию интерфейса, чтобы использовать его в модуле core. Является ли это хорошо известным шаблоном дизайна? если да, то что это за имя? thxПонимать архитектуру кода JAVA, дизайн

+0

Если я получу это правильно, вот ответ http://stackoverflow.com/questions/383947/what-does-it-mean-to-program-to-an-interface –

+1

Возможно, что вы смотрите на [Inversion of Control] (http://stackoverflow.com/questions/3058/what-is-inversion -of-control) –

+0

Также ознакомьтесь с разделом проблем (SoC) http://en.wikipedia.org/wiki/Separation_of_concerns - для проектов с открытым исходным кодом с использованием IoC/DI проверьте Spring. – krslynx

ответ

0

Ну, это хорошо известный шаблон дизайна Bridge, мы используем его, когда хотим уменьшить сцепление между двумя разными слоями.

Предположим, у нас есть бизнес-класс, который использует методы DAO для сохранения данных. Бизнес-класс имеет только экземпляр типа Dao-интерфейса, поэтому мы можем реализовать столько же, сколько класс Dao, без каких-либо изменений в классе бизнес-процессов.

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

Смежные вопросы