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


Шаблоны проектирования программного обеспечения: Часть 2 — Структурные шаблоны
Продолжение этой серии статей о шаблонах проектирования. Эта часть посвящена шаблонам структуры кода. Нажмите здесь, чтобы узнать больше о: Часть 1 — Креативные паттерны Шаблон адаптера Преобразует один интерфейс одного класса в другой интерфейс, который ожидает клиент, обеспечивая совместимость двух интерфейсов друг с другом. Пример public class EuropeanPlug {} public class BritishPlug {} public class EuropeanPowerSupply { void ProvidePower(EuropeanPlug plug) { // do..

Является ли .stream().map().forEach() антипаттерном?
Давайте обсудим метод forEach() в Java Stream: нарушает ли он принципы функционального программирования? Разработчики Java обычно не знакомы с функциональными шаблонами, но с момента появления Java 8 их популярность возросла. Тем не менее, я чувствую, что иногда мы слишком быстро используем функциональные конвейеры, не полностью понимая принципы функционального программирования.

Чрезвычайное положение! Четыре способа, которыми ваше состояние может быть неправильным
Тревога! Возможно, ваше состояние уже заражено! Что, если бы я сказал вам, что, пока вы гуляете счастливыми и довольными в эти мирные времена и великого экономического процветания, состояние вашего приложения может быть смоделировано неправильно! Что, если бы я сказал вам, что могу помочь вам с этим, при этом представив миру еще одну мнемонику?!? Заинтригованы? Тогда продолжайте читать! (Исходный формат: https://note89.github.io/state-of-emergency/ ) Что вообще такое..

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

4. Примечания - модули должны быть глубокими
Опыт автора Джона Остерхаута сильно отличался от моего. Приятно изучать идеи Джона, и я использую узлы, которые прагматично представлены в этой главе, демонстрируя отличный способ взглянуть на модули, интерфейс и функциональность. Модульная конструкция В модульном дизайне программная система разбивается на набор относительно независимых модулей. С точки зрения системы, эти модули работают вместе, вызывая функции или методы друг друга. Это будут зависимости между модулями, которые..

Сила композиции
Избегайте синдрома «всего пару строк». Композиция спасает вам день. Я никогда не смогу этого достаточно подчеркнуть. После многих лет разработки систем разного масштаба этот принцип всегда остается верным для меня. Композиция - один из фундаментальных инструментов, которыми вы, как разработчик программного обеспечения, можете ежедневно сталкиваться с проблемой постоянного изменения вашей кодовой базы (спасибо, менеджер по продукту). Я часто слышу аргумент о том, что..

Концепция сцепления
Exordium В разработке программного обеспечения под связью понимается степень, в которой модули связаны. Этимология этого слова восходит к латинскому языку и означает «соединение одного предмета с другим» или «соединение вместе». Итак, думая о соединении, подумайте о том, как объекты связаны друг с другом . Наряду с некоторыми другими концепциями, связывание было изобретено в 1968 году как часть структурированного дизайна Ларри Константина . Структурированный дизайн..