Шаблоны проектирования против EffectiveJava - PullRequest
2 голосов
/ 06 мая 2011

Я студент, который стремится улучшить свои навыки Java и навыки общего программирования. Я знаком с некоторыми основными шаблонами проектирования.

В моём распоряжении две книги: «Начните с разработки шаблонов» и «Эффективная Java» (Джош Блох), обе из которых направлены на продвижение хороших методов программирования.

Однако меня смущает вопрос: «Как мне читать тексты, чтобы это имело смысл?»

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

Как правильно смотреть на весь сценарий?

Ответы [ 5 ]

11 голосов
/ 06 мая 2011

Вы просто должны накопить свои знания.Отчасти это благодаря чтению хороших книг, из которых книга Джоша Блоха - очень хорошая книга.Некоторые из них - взять на себя задачи по программированию в свободное время и следить за блогами и другими веб-сайтами, такими как stackoverflow.В то время как некоторые из них вы получите через другой практический опыт, то есть на работе.

Эти вещи требуют времени и приходят с опытом.Просто наслаждайтесь языком и погрузитесь в него.Шаблоны - это далеко не все, и они заканчивают весь язык - они являются частью эффективного инструментария.Лучше понять язык полностью, тогда вы увидите, как шаблоны проектирования могут помочь решить общие проблемы и часто лучше их решать.Но определенно не зацикливайтесь на моделях, пока вы не будете достаточно хорошо знать язык.Если факт вообще не зацикливается на шаблонах!

Я бы сказал, что книга Джоша Блоха - лучшая книга, на которой можно сосредоточиться на первом - она ​​превосходна и знакомит вас со всеми ключевыми понятиями (такими распространенными методами, как«равно» и «хэш-код», «перечисления», «параллелизм»), а также вводит шаблоны, которые вы получаете из повседневных преимуществ, например, шаблон Builder.

8 голосов
/ 06 мая 2011

Однако меня смущает вопрос: «Как мне читать тексты, чтобы это имело смысл?»

Мой единственный совет: избегать излишнего и чрезмерногоинженерия .Некоторые опытные программисты ООП (и Java), которые изучают шаблоны проектирования, воспринимая их как Библию, часто создают нечеткий и бесполезный код.Это кажется противоречивым, но если подумать, это не так.

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

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

Много раз я видел распространение классов и интерфейсов, бесполезные обобщения, которые бессмысленны:в некоторых случаях я видел пакеты с 2 полезными классами и 10 интерфейсами и / или абстрактными классами.Я также чувствую необходимость сделать код «универсальным» и «повторно используемым», но должен быть предел.

Много раз я видел «религиозные войны» по этим темам.

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

4 голосов
/ 06 мая 2011

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

Но мой общий подход - «всегда соглашаться с Джошем Блохом» (если Джон Скит не согласен с ним)

2 голосов
/ 06 мая 2011

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

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

Шаблоны дают гибкий код, но создают большую сложность в коде.

Может быть, вы хотите взять книгу Прикладные шаблоны Java рядом с теми книгами, которые у вас уже есть. Это написано Олавом Маарсеном и Стивеном Стелтингом. Кроме того, корнем всех паттернов является «Банда четырех», вы можете использовать их книгу в качестве ссылки.

0 голосов
/ 20 сентября 2017

Дизайн шаблона не всегда хорош.Чрезмерное использование шаблона проектирования - это плохо.

Джош Блох, однако, всегда прав.Доверься ему, и ты спасен.

Забудь про шаблон дизайна.Книга Джоша Блоха дает вам все необходимые шаблоны.

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