Рекомендация книги OOAD:от теории к практике [закрыто]
-
23-09-2019 - |
Вопрос
Я стремлюсь стать хорошим объектно-ориентированным разработчиком.ОО меня интригует, потому что я понимаю закономерности, знаю, почему композиция дает больше гибкости, чем наследование, и еще больше такой мудрости.Однако я пришел к выводу, что знаю, как реализовать фабрику синглтона, но я не знаю, как придумать надежный объектно-ориентированный дизайн.
У меня есть куча книг
- Шаблоны проектирования от GoF
- Антипаттерны Браун и др.
- Рефакторинг Фаулера
- Код завершен 2
Возможно, это очень хорошие книги, но они не учат вас проектировать приложения.Меня часто парализует принятие каких-то очень элементарных решений (пример).Я ищу книгу, которая учит, когда и почему.Есть много книг о молотках и гвоздях, но мне еще предстоит найти книгу, которая рассказала бы вам что-нибудь об их практическом взаимодействии.
Какая книга помогла вам стать уверенным в себе объектно-ориентированным архитектором/дизайнером?
Решение
Лучшая книга, которую я когда -либо читал о Оо, - это Бертран Мейер Объектно -ориентированная построение программного обеспечения.
Это огромно, но это было очень полезно для меня. Он охватывает каждый аспект OO Design Imvho.
Другие советы
Самая фундаментальная работа о объектно-ориентации когда-либо опубликована. Это абсолютно должна иметь книгу для каждого «объектно-ориентированного» программка.
2. "Объектно-ориентированный анализ и дизайн с приложениями"Грэди Буч и др.
Не так формально, как книга Мейера, но эта книга может открыть глаза на многие вопросы в объектно-ориентированном мире и в разработке программного обеспечения в целом
3. "Образец дизайна: элементы многоразового объектно-ориентированного программного обеспечения"Эрих Гамма и соавт.
Это знаменитая книга «Банда четырех» о дизайне
4. "Рефакторинг: улучшение дизайна существующего кода"Мартин Фаулер и соавт.
Это еще одна классическая книга. Первая часть прекрасно описывает многие проблемы, с которой современный разработчик программного обеспечения может столкнуться во время своей работы: запахи кода, читабельность против производительности, недоноскую недостатки оптимизации и многие другие темы.
5. "Думая на Java"Брюс Экель
Эта книга может помочь многим новичкам не только на языке Java, но и в объектно-ориентированном образе мышления.
6. "Прикосновение класса: научиться хорошо программировать с объектами и контрактами"Бертран Мейер
Отличный учебник от знаменитого автора.
Я полностью понимаю вашу ситуацию. Также владеют тремя из этих книг;) Я бы предложил главу первого издания. Объектно-ориентированный анализ и дизайн. Это приведет вас на правильных треках. Книга GOF отличная, но бесполезно, пока вы не получите основы в своей голове, и первая книга по уходу позаботится об этом. Ваше здоровье :)
На самом деле осуществление программирования - большая помощь, чем чтение о разработке программирования.
«Парализованный некоторыми очень основными решениями» является симптомом более глубокой проблемы-чрезмерного инженера. Пока вы не построите много вещей, вы не знаете, какие решения имеют значение, а какие не имеют значения.
Лучший способ получить необходимый опыт - построить много вещей.
Код Ката очень, очень важен. http://slott-softwarearchitect.blogspot.com/search/label/code-kata
Кроме того, я собрал кучу кода kata, который я использовал в один большой проект. http://homepage.mac.com/s_lott/books/oodesign.html
Роберт С.Мартин «Гибкая разработка программного обеспечения:Принципы, шаблоны и практики», объясняющий принципы объектно-ориентированного подхода.
Эрик Эванс:«Дизайн, управляемый предметной областью» посвящен тому, как создать хороший дизайн, соответствующий вашей бизнес-задаче.
Мартин Фаулер:«Шаблоны архитектуры корпоративных приложений»: основные принципы архитектуры предприятия.
Единственный способ выяснить, является ли дизайн надежным - это реализовать его. Нет единой книги, которая бы научит вас, как производить реализуемые дизайны, все сводится к опыту и таланту. Тем не менее, я делаю второе место, проголосовав за книгу Бертранда Мейера - просто знайте, что это не превратит вас в бог дизайна.
Крейг Ларман Применение UML и узоров Многие суммировали о том, что я узнал из опыта. Что мне нравится в этом, так это то, что он рассматривает все аспекты дизайна программного обеспечения, что включает в себя такие вещи, как итеративный дизайн и разработка. Не смотрите слишком усердно на использование UML: описания дизайна являются средством для конца, и я нашел подход Лармана довольно прагматичным. Вы не можете просто кодировать: вы должны сообщить о своих намерениях (и понять, что нужно). UML и чисто разработанный, хорошо прокомментированный код являются одними из средств для этой цели.
И, конечно же, как упоминают другие: ни одна книга не сделает вас хорошим разработчиком или дизайнером. Но это может помочь ускорить процесс.
Для стартера, я предлагаю сначала голову Объектно -ориентированный анализ и дизайнАнкет Он направляет вас построить приложение OO в простом интуитивно понятном пошаговом методе.
Несмотря на то, что я склонялся к Rational, я обнаружил, что эти двое предложили много понимания дизайна OO.
- Применение UML и узоров - Крейг Ларман
- UML 2 и Unified Process: Практический объектно -ориентированный анализ и дизайн - Jim Arllow & Ila Neustadt