Как освоить разработку приложений на Java

Я программировал на Java в течение последних 2 лет, и теперь я хочу попасть в Designing applications. Пока что я только в кодировании, т.е. Мне дана диаграмма дизайна/диаграммы классов и т.д., и мне нужно ввести код. Теперь я хочу научиться дизайну, я имею в виду, что хочу наклоняться, когда класс должен быть интерфейсом, а не конкретным классом, придумывая дизайн с учетом требований, технологий проектирования и всех других аспектов desiging.

Чтобы узнать все это, вы можете предложить любую серию статей/книг и т.д.

Я пробовал читать Headfirst Design Patterns, но даже если я могу уловить несколько шаблонов дизайна, я все еще не в состоянии самостоятельно использовать desiging apllications.

Пожалуйста, помогите.

Ответ 1

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

Тогда, чтение недостаточно, вам нужно сделать.

В следующий раз, когда вы получите спецификацию, изучите ее. Поймите проблему, которая решается, затем отправляйтесь домой и спроектируйте ее самостоятельно. Сравните свою попытку со спецификацией. Или рассмотрите альтернативы спецификации, которую вы даете, предположим, что у вас не было интерфейса здесь или Factory, почему бы это решить?

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

Ответ 3

Вы можете прочитать "Эффективная Java" Джоша Блоха.

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

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

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

Ответ 4

Для начала попробуйте следующее:

  • Прочитайте абзац о 1 шаблоне проектирования (как они перечислены в книге).
  • Попробуйте понять проблему, которую она решает.
  • Представьте себе некоторую задачу с этой проблемой.
  • Введите код.
  • Нарисуйте диаграмму классов вашей программы на листе бумаги (без автоматических инструментов).

Один образец в день будет очень хорошей скоростью.

Ответ 5

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

Ответ 6

Я согласен с Беном и хотел бы добавить свои 2 бабса...

Дизайн - это искусство, и, как живопись, он не приходит из книг, он исходит изнутри.

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

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

И, конечно, не бойтесь спросить своих дизайнеров об их подходе.

Ответ 7

Лучший способ узнать что-то - учиться, занимаясь и учиться в других проектах реального мира.

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

Конечно, сначала вам понадобятся теоретические знания, поэтому я рекомендую следующую книгу:

  • Применение UML и шаблонов Larman

Ответ 8

Разработка приложений требует определенной практики, но это не должно мешать вам пытаться. Через некоторое время вы получите это;

Совет: попробуйте учиться у своих коллег. Позвольте им показать вам, как они разрабатывают приложения, какой процесс они выполняют, как они идентифицируют проблемы и используют ли они шаблоны для их решения? Иногда лучше всего посмотреть, как работает процесс проектирования, а не пытаться все это изучить самостоятельно.

Мои 50 центов на хорошие ресурсы: