Из
хорошего блогпоста (по-английски) о системном дизайне, ключевой пассаж
"Распознавание хорошего дизайна
Как выглядит хороший системный дизайн? Я уже писал ранее, что он выглядит непритязательно. На практике он выглядит так, что ничего не ломается в течение долгого времени. Вы можете понять, что находитесь в присутствии хорошего дизайна, если у вас возникают мысли типа "хм, это оказалось проще, чем я ожидал" или "мне никогда не приходится думать об этой части системы, она работает нормально". Парадоксально, но хороший дизайн самоустраняется: плохой дизайн часто выглядит более впечатляюще, чем хороший. Я всегда отношусь с подозрением к впечатляюще выглядящим системам. Если в системе есть механизмы распределенного консенсуса, множество различных форм событийно-ориентированной коммуникации, CQRS и другие хитрые трюки, я задаюсь вопросом, не компенсируется ли какое-то фундаментальное плохое решение (или система просто откровенно переспроектирована).
Я часто остаюсь при этом мнении в одиночестве. Инженеры смотрят на сложные системы со множеством интересных частей и думают: "вау, здесь происходит много системного дизайна!" На самом деле, сложная система обычно отражает отсутствие хорошего дизайна. Я говорю "обычно", потому что иногда действительно нужны сложные системы. Я работал над многими системами, которые заслужили свою сложность. Однако сложная система, которая работает, всегда эволюционирует из простой системы, которая работает. Начинать с нуля со сложной системой — очень плохая идея."