Pull to refresh
83
0
Send message

Бесплатная электронная книга по шаблонам проектирования на украинском языке

Reading time 1 min
Views 7K
Хабравчане, позвольте вам представить мой небольшой и скромный труд по шаблонам проектирования на украинском языке. Заранее извините, если вы не из Украины.

image

Описание
Книга «Дизайн паттерны — просто, как двери» является бесплатной украиноязычной книгой, содержащей уникальные примеры к шаблонам проектирования. Благодаря своей нестандартной подачи материала она позволит вам легко освоить основы понимания дизайн паттернов или систематически и очень быстро повторить их перед интервью. Способ написания книги позволит провести время, отведенное на ее прочтение, без скуки, а иногда даже увлекательно.

Освежите в своей памяти подзабытые дизайн паттерны!

Скачать книгу

В нескольких словах
Книгу я написал с добрыми намерениями. Их у меня было несколько. Я хотел удостовериться, что сам понимаю все классические дизайн паттерны. Ресурсов для этого достаточно много, но я решил реализовать эти паттерны самостоятельно и придумать собственные примеры. Таким образом, начиная С 16 января 2010 я писал блог посты, которие так или иначе вызвали интерес у читателей. Чтобы этот вклад в программирование был более четким, у меня возникло желание выпустить небольшую книгу, которая стала бы коллекцией этих блог постов.

Посетите сайт книги: http://designpatterns.andriybuday.com/

Любые конструктивные замечания возьму во внимание. Если вы считаете эту работу не стоящой внимания, можете об этом упомянуть в комментариях.
Total votes 177: ↑149 and ↓28 +121
Comments 186

Итератор

Reading time 5 min
Views 55K
(Заранее извините за мой русский)

Представьте, что вы разработчик статегичнои военной игры. Армия имеет сложную структуру: она состоит из героя и трех групп. Когда Король издает указ и ресурсы, чтобы полечить всех воинов (Герой также является воином) Вы хотите проитеруваты по всем солдатам и вызвать метод treat () на каждом инстанси. Как это можно сделать легко и без вникания в структуру армией?

ИТЕРАТОР



Итератор это паттерн позволяющий доступатися к элементам любой коллекции без вникания в суть ее имплементации.
Таким образом в применении к нашей проблеме: Мы не хотим переживать структурой Армии — мы хотим чтобы SoldiersIterator пробежался по всем солдатам.

Красная линия на рисунке — это итератор (по крайней мере как я его себе представляю).

Читать дальше →
Total votes 43: ↑12 and ↓31 -19
Comments 19

Managed Extensibility Framework

Reading time 7 min
Views 14K
(Заранее извините за мой русский)

MEF это новый подход разработанный Майкрософт, который позволяет загружать расширения для вашего приложения очень легко. Он позволяет обнаруживать и составлять части, которые должны быть включены в приложение, и все это во время выполнения. Вы можете расширить поведение аппликации простим добавлением новых плагинов. Managed Extensibility Framework сделает все это за вас.
«Hello MEF World!»

Читать дальше →
Total votes 95: ↑69 and ↓26 +43
Comments 31

Станьте успешным программистом

Reading time 3 min
Views 876
1. Не переставайте учиться

Я предполагаю, что вы даже бы не читали этот пост, если бы не имели хотя бы элементарного образования, и вы бы даже не хотели знать как стать успешным программистом без высшего образования. Если вы сейчас программист, зачем останавливаться учиться?
Это просто запрещено. Одна важная вещь здесь: Стоять на одном месте не означает, что вы стоите на месте — это значит, вы двигаетесь назад. Просто двигаться вперед не значит что вы двигаетесь вперед — это только означает, что вы не потерялись с неудачниками где-то в конце. Чтобы продвигаться вперед вам следует учиться постоянно — не просто двигаться, а БЕЖАТЬ.
Вот мой короткий список, который подпадает под этот пункт:
• Читайте книги
• Подпишитесь на RSS и читайте разные статьи
• Пробуйте различные языки программирования и вещи, о которых вы слышали
• Ходите на семинары и готовьте собственные презентации
• Учите что-либо, что может вам помочь продвигаться
• Учите других, так как это учит вас

2. Определите вашу цель и держитесь правильной дороги

Я думаю что трудно бежать если не знать куда бежать. Основная задача заключается в том, чтобы четко представлять свою цель. Ваша цель должна быть долгосрочная и большая. И после того как у вас уже есть видение своей цели возьмите и разбейте ее на мелкие задачи — то есть постройте свою карту к успеху. Вам следует составить список задач, которые вы ДОЛЖНЫ выполнить за месяц или за год. Как только вы его имеете, просто четко следуйте за ним.

3. Любые проблемы является возможностями

В будничной работе вы всегда сталкиваетесь с разными Траблами. Вы получаете новые задания или отчеты о багах от тестеров. Вы получаете новые проекты от Проджект менеджеров. Ваш сотрудник спрашивает о помощи. Вам нужна помощь. Это все примеры проблем. И действительно важный вопрос здесь такой: как вы встречаете их? Вы можете сказать «Ой, но так я не избавлюсь от дурной надоедливой работы». Вы здесь абсолютно не правы. Запомните, что ваши боссы будут рады дать вам более сложную работу как только увидят, что вы справляетесь с текущими задачами.

4. Будьте позитивно настроены

Вы должны смотреть на все позитивно. Если вы обнаружили, что сделали ошибку просто примите это легко — каждый делает ошибки. Вам нравятся люди, которые ноют когда у них проблемы? Как вы думаете вы будете выглядеть в чужих глазах, если вы скажете: «Да, ребята, я это сделал — я это решу, дайте мне минутку» и спустя вы возвращаетесь и начинаете фиксать вашу ошибку с улыбкой на лице. Как только вы решите проблему вы будете просто счастливы.
Ваша дорога является хорошей и вы быстро двигаетесь вперед. Никогда, никогда не думайте что вы не достигнете своей цели — вот суть этого пункта.

5. Найдите наставника

Это не означает, что вам нужен человек, который будет вам помогать делать вашу работу — потому что это просто учитель или же более опытный разработчик. Это означает что вам нужен человек, который находится там, где вы хотите быть. Вам нужно брать пример с этого человека. Если этот человек недостаточно высоко — просто найдите кого-то по серьезнее. Также имейте друзей которые будут вам помогать двигаться по пути. Или просто пользуйтесь поддержкой женщины или девушки.

6. Становитесь известными

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

7. Следите за выполнением ваших задач, будьте уверены, что вы до сих пор на пути

Время от времени следует проверять вы делаете все правильно. Убедитесь, что вы выполняете поставленные задачи. Если нет, то быстро найдите причины и работайте над ними. Найдите свои слабые стороны и сражайтесь с ними. Это может звучать смешно, но я знаю хорошего программиста с хорошими теоретическими знаниями, но его скорость набора кода просто ужасна. Почему? Потому что у него просто ужасная клавиатура и он не хочет провести 10-20 часов за тренажером. Разве это не тупо? Друг, если ты будешь читать эту статью, обещай что ты победишь эту слабину.

8. Делайте гимнастику

Я сделал маленькой само-опрос, когда писал эту статью. И «Делайте гимнастику» попало в список. Я достаточно молод и провожу много времени за ноутбуком и за другой машиной на работе и я не могу заставить себя делать гимнастику. Но это как точения лезвия. Есть такая история о двух дровосеках которые поспорили о том кто срубит больше деревьев. Один дровосек был здоров и большой, а другой худой, как я. Сильный был уверен, что он победит, поскольку он рубил деревья все 8 часов без минуты перерыва, а худой делал перерыв на 15 мин. каждого часа. Но борьбу выиграл худой — он срубил 150 деревьев в то время когда Силач срубил 100. Секрет состоял в том, что он точил лезвие тогда когда отдыхал. Ваше здоровье — это ваш топор и если он будет тупой вы не сможете вырубить себе дорогу к успеху.

Поэтому пусть все ваши топоры будут заточены!
Total votes 72: ↑44 and ↓28 +16
Comments 21

Information

Rating
Does not participate
Location
Wien, Wien, Австрия
Registered
Activity