Публикации по теме 'software-design'


Шаблон проектирования Builder с примером
Что такое шаблон проектирования Builder? Согласно определению «Банды четырех», шаблон проектирования «Строитель» «Отделите построение сложного объекта от его представления, чтобы один и тот же процесс построения мог создавать разные представления». Диаграмма классов шаблона проектирования Builder: Как вы видите на диаграмме классов, чтобы отделить процесс построения от его представления, шаблон проектирования построителя включает четыре компонента: Продукт: Это класс,..

Чего следует избегать при создании пакетов внутренней балансовой единицы
Пакеты кода (или библиотеки, выберите ваш любимый термин) — отличный способ поделиться и повторно использовать код. Без них нам пришлось бы повторно реализовывать одни и те же функции снова и снова в каждой системе, приложении или сервисе, который мы создаем. Большинство из нас ежедневно полагаются на них, чтобы позаботиться об основных, не уникальных или специфичных для приложения функциях, таких как обработка веб-запросов, рендеринг html, выполнение аутентификации и авторизации и..

Композиция со структурами и перенаправлением методов в Go
В объектно-ориентированном программировании мы составляем объекты из более мелких объектов для моделирования решаемой проблемы. Точно так же в Go мы используем композицию со структурами. В этой статье я расскажу о языковой функции, называемой структурой встраиванием Go, и о некоторых осторожных соображениях, когда мы применяем композицию со структурами. Разработка программного обеспечения с композицией Композиция считается более гибкой, более удобной для повторного..

Аналогия с бургером: для императивного и декларативного стилей программирования
Элементарный подход к пониманию исторически оцененных парадигм проектирования систем Вы когда-нибудь задумывались, как бы вы объяснили кому-то этот распространенный жаргон? Или сами задавались вопросом, в чем дело? Ну я то же задумался! Недавно мне пришлось объяснять, что это значит, как это работает и как влияет на одну из наших систем. И пока я какое-то время пытался дать этому простое определение, в конце концов мой разум наткнулся на то, с чем все мы сталкиваемся каждый день —..

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

5 простых способов улучшить дизайн программного обеспечения
Простые решения помогают в 80% случаев. Разработка кода в объектно-ориентированном, функциональном или смешанном стилях - это искусство, требующее от разработчиков программного обеспечения постоянного оттачивания своих знаний и навыков путем чтения фундаментальных книг, практики, совершения ошибок и извлечения уроков из них. Дизайн кода включает в себя бесчисленное количество приемов, шаблонов, принципов разного уровня сложности. Однако не только применение трудных для изучения..

Шаблон проектирования интерпретатора с примером
Что такое шаблон проектирования интерпретатора? Согласно шаблону проектирования интерпретатора GOF , « определяет представление для своей грамматики вместе с интерпретатором, который использует представление для интерпретации предложений на языке ». Диаграмма классов шаблона проектирования интерпретатора: Понимание шаблона проектирования интерпретатора на примере: Иногда нам нужно преобразовать числа в слова. в нашем примере мы будем применять шаблон проектирования..