Хорошее Java-приложение для изучения OOD - PullRequest
0 голосов
/ 07 октября 2009

Я ищу Java-приложение с открытым исходным кодом (приложение C # тоже нормально), чтобы узнать и понять хороший объектно-ориентированный дизайн.

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

Я посмотрел несколько образцов ORM. Хотя они преподают хороший дизайн ОО, происходит слишком много магии, которая скрывает много деталей о взаимодействии с базой данных.

Есть ли у вас какие-либо предложения?

Ответы [ 3 ]

1 голос
/ 07 октября 2009

ORM - это просто отображение между базой данных и объектами кода. Если вы настроите и будете использовать его, вы «почувствуете» его, и он не будет казаться таким «волшебным».

Вот предложение - настройте простой проект с использованием Hibernate, сначала с одной таблицей, а затем с реляционным примером (то, что требует объединения). Hibernate можно настроить для регистрации запросов во время работы, чтобы вы могли видеть, как они переводятся.

Другой вариант - запускать аналогичные упражнения с несколькими структурами, например, rails activerecord (который довольно прост в настройке).

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

1 голос
/ 07 октября 2009

Шаблон проектирования Dofactory демонстрирует хороший пример объектно-ориентированного проектирования: http://dofactory.com/Patterns/Patterns.aspx

0 голосов
/ 16 марта 2010

См. Структура коллекций

За некоторыми исключениями из правила (например, для реализации стека) оно показывает несколько действительно хороших примеров примененных шаблонов проектирования (стратегия, итератор и т. Д.), Инкапсуляции, алгоритмов, композиции, повторного использования кода и т. Д. начни учить себя дженерикам. Узнайте больше о шаблонах и алгоритмах, читая их источники, чем в любой книге.

...