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


Code Smell 31 — Случайные методы на бизнес-объектах
Добавление постоянства, сериализации, отображения, импорта и экспорта кода к объекту раздувает его протокол и создает связанность. Проблемы Читабельность Связь Ремонтопригодность Решения Держите свои объекты в чистоте. Разделяйте бизнес-объекты. Отделите случайные проблемы: переместите сохранение, форматирование, сериализацию в специальные объекты. Сохраняйте основной протокол, используя биекцию . Примеры Упорство Идентификаторы Сериализация Форматирование..

10 лучших мест для изучения системного проектирования в 2023 году
Это лучшие места для изучения дизайна программного обеспечения и проектирования систем в Интернете и хорошей подготовки к собеседованиям по проектированию систем в 2023 году. Здравствуйте, ребята, если вы готовитесь к собеседованию по системному дизайну и ищете лучшие ресурсы для освоения дизайна программного обеспечения и системного дизайна, то вы попали в нужное место. Ранее я разобрал лучшие системные курсы , книги и системные вопросы для интервью , и в этой статье я..

«Hello World» с балансировкой нагрузки Nginx.
Балансировка нагрузки: Балансировка нагрузки — это механизм распределения входящего трафика на несколько пулов серверов. Внедрение балансировки нагрузки обеспечивает избыточность приложения, обеспечивая отказоустойчивость системы и повышая ее стабильность. Используя избыточность, мы избегаем единой точки отказа (SPOF), а балансировщики нагрузки помогают достичь этого эффективно. Настройка Nginx для работы в качестве балансировщика нагрузки: Установите и запустите службу..

Демистификация системного проектирования: создание цифрового мира
Представьте, что вы строите мост. Вы не можете просто начать беспорядочно укладывать кирпичи и укладывать бетон. Вам нужен план, чертеж, в котором описывается каждая деталь — материалы, которые вы будете использовать, нагрузка, которую он должен выдерживать, и окружающая среда, которую он выдержит. То же самое относится и к созданию сложных программных систем, но вместо кирпичей и стали вы имеете дело со строками кода и потоками данных. Здесь в игру вступает дизайн системы. В этой..

Думая как инженер-программист
Написание кода - одна из наших повседневных задач инженеров-программистов. Мы даже можем сделать это на каком-то автопилоте (дайте мне знать, если вы никогда этого не делали 😏) - мы читаем пользовательскую историю на нашей доске, открываем нашу IDE, мы пытаемся вспомнить, делали ли мы что-то подобное раньше, если да , мы копируем код, иначе смотрим на stackoverflow, копируем оттуда, а затем пытаемся соответствующим образом скорректировать код. Это не обязательно хорошо или плохо,..

От исходного кода к исполнению  Вот как работают языки программирования
Как язык программирования работает под капотом Вы когда-нибудь задумывались, как это работает под капотом языка программирования? Как компилятору удается правильно понимать наш код? Как машинам (компьютерам) удается правильно и точно выполнять наш код? «Правильно, правильно и точно» подразумевается без ошибок, без потерь и без модификаций. Чтобы ответить на эти вопросы, мы попробуем создать небольшой язык программирования под названием H# и выполним все шаги, которые обычно..

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