шаблоны проектирования

  • ХабрахабрФото [Перевод] Умные программисты пишут STUPID-код

    [Перевод] Умные программисты пишут STUPID-код

    Умные программисты пишут STUPID-код, ведь они понимают, что неожиданно возникшая сложность может привести к провалу проекта. ▍ Страдание На момент написания этой статьи на моих часах 21:30. Этим утром я проснулся в хорошем, оптимистичном настроении, рассчитывая на прекрасный день, но теперь вымотан. Я вымотан не физически, а, скорее, разочарован тем, что, несмотря на все имеющиеся у нас замечательные технологии, позволяющие…

    Читать далее »
  • ХабрахабрФото Стратегии развертывания (деплоя) и стратегии кэширования

    Стратегии развертывания (деплоя) и стратегии кэширования

    Приведу несколько распространённых стратегий развертывания приложений/сервисов, с акцентом на два момента: Без простоя — простаивают ли наши сервисы в процессе развертывания новой версии приложения. Целевые пользователи — можно ли предоставить возможность протестировать новый функционал приложения ограниченному количеству пользователей (фокус‑группе). Big Bang DeploymentДанная стратегия развертывания довольно проста: мы развертываем новую версию за один раз с простоем серверов. Для этой стратегии необходима подготовка. В случае сбоя в процессе развертывания мы откатываемся к предыдущей версии.  — Без простоев —…

    Читать далее »
  • ХабрахабрФото Зачем в Hoff Tech архитекторы или как мы строим и описываем ИТ-ландшафт

    Зачем в Hoff Tech архитекторы или как мы строим и описываем ИТ-ландшафт

    Мы последовательно внедряем архитектурный подход в давно работающей компании, буквально на ходу — это напоминает починку работающего двигателя. Здесь неизбежны некоторые особенности, о которых стоит поговорить. Спойлер: процесс идет, мы набили шишки и выработали подходы, которые хочется показать и обсудить с коллегами. Этот пост — первый из серии статей, где я изложу свое видение работы архитектора и пошагово расскажу, как…

    Читать далее »
  • ХабрахабрФото [Перевод] Основные архитектурные шаблоны построения ПО

    [Перевод] Основные архитектурные шаблоны построения ПО

    Краткий обзор восьми наиболее востребованных архитектурных шаблонов с иллюстрациями:По своей сути — шаблоны представляют переиспользуемые решения для типичных задач. Когда перед нами возникает такая задача, то лучше сначала поискать готовое решение в каталоге существующих шаблонов и лишь потом переходить к созданию чего-то полностью нового. В случае же обнаружения подходящего варианта останется просто подстроить его под актуальную область задачи. Использование шаблона…

    Читать далее »
  • ХабрахабрФото [Перевод] Использование шаблонов проектирования группы GoF в React

    [Перевод] Использование шаблонов проектирования группы GoF в React

    В этой статье поговорим о том, как написать в React многократно используемый код, используя три шаблона проектирования группы Gang-of-Four. Шаблоны проектирования позволяют создать повторно используемые и надежные решения распространенных проблем при разработке программного обеспечения. Использование шаблона проектирования может значительно сэкономить время при разработке и помочь быстрее внедрить новый элемент в производство. Чтобы повысить производительность процесса, разработчикам важно понимать принципы работы…

    Читать далее »
  • ХабрахабрФото Упрощение сложной фильтрации в LINQ с помощью шаблона «Спецификация» и библиотеки XSpecification

    Упрощение сложной фильтрации в LINQ с помощью шаблона «Спецификация» и библиотеки XSpecification

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

    Читать далее »
  • ХабрахабрФото Почему я против enum

    Почему я против enum

    Меня зовут Саша Терентьев, я из команды ленты ВКонтакте. В этой статье поделюсь мыслями о проблемах кода, где используются enum и сопоставления типов. Часто встречаю такой код в проектах, ресурсах, примерах. Мы обсуждали это с коллегами на внутреннем событии, и из моего доклада выросла эта статья. Букв будет много. Но, думаю, материал пригодится широкому кругу разработчиков — и не только iOS. Примеры основаны на псевдо-Swift и написаны по мотивам использования UIKit. Но могут пригодиться для работы с разными платформами и в любой области, где возникают сопоставления…

    Читать далее »
  • ХабрахабрФото [Перевод] Как мы избавились от 80% своего кода, повысив скорость разработки и уменьшив количество ошибок

    [Перевод] Как мы избавились от 80% своего кода, повысив скорость разработки и уменьшив количество ошибок

    Оптимизация кода и развитие микросервисной архитектуры занимает значительную часть жизни команды разработчиков МВидео-Эльдорадо. Тем любопытней изучить опыт коллег за рубежом. Предлагаем вашему вниманию очередной пост на тему: «А как там у них». Разработчики ПО любят абстракции. Абстракции великолепны и являются ключевым инструментом эффективной разработки. В конце концов, писать ПО только единицами и нулями было бы слишком трудоёмко. Проблема возникает тогда,…

    Читать далее »
  • ХабрахабрФото Как создать шаблон описания системы и начать его использовать

    Как создать шаблон описания системы и начать его использовать

    Когда в IT-компании работают 6 человек, которые пилят одну систему и обсуждают её в кулуарах, описание системы и документация кажутся ненужными. Но когда систем уже более 100, без описания не обойтись. Ведь непродуманное изменение UI может остановить создание заказов. Мы создали единый шаблон описания системы, чтобы документация стала максимально полезной. Меня зовут Александра Камзеева, я работаю системным аналитиком уже 9…

    Читать далее »
  • ХабрахабрФото [Перевод] Реализация шаблона «Состояние» в Unity

    [Перевод] Реализация шаблона «Состояние» в Unity

    В процессе программирования внутриигровых сущностей возникают ситуации, когда они должны действовать в различных условиях по-разному, что наводит на мысль об использовании состояний. Но если вы решите применить способ грубого перебора, то код быстро превратится в запутанный хаос со множеством вложенных операторов if-else. Ему-то мы и посвятим этот туториал! Для изящного решения этой задачи можно воспользоваться шаблоном проектирования «Состояние» (State design…

    Читать далее »


Кнопка «Наверх»