Желательные особенности дизайна
2024-10-22 16:19:41 0 Сообщить
Войдите, чтобы просмотреть полный контент
Другие творения автора
Контент / Содержание
Минимизировать сложность
Основной целью проектирования должно быть минимизировать сложность. Избегайте "умных" проектов. Умные проекты обычно трудно понять. Наоборот, делайте "простые" и "легко понятные" проекты. Если ваш проект не позволяет вам безопасно игнорировать большую часть программы, когда вы погружаетесь в определенную часть, то этот проект не выполняет свою функцию.
легко поддерживать
Удобство обслуживания означает проектировать для программиста-технического поддержки. Постоянно представляйте, какие вопросы может задать программист-технический поддержки по вашему коду. Рассматривайте программиста-технического поддержки как вашу аудиторию и спроектируйте систему таким образом, чтобы она была самоочевидной.
Минимальная связность
Минимальная связность означает минимизацию связей между разными частями программы при проектировании. Применяются принципы сильной взаимосвязи, слабой связанности и скрытия информации для проектирования классов с минимальным количеством связей. Минимальное количество связей минимизирует работу по интеграции, тестированию и обслуживанию во время разработки.
возможность повторного использования
Повторное использование означает, что при проектировании системы вы можете использовать ее части в других системах.
lean
Леан - это когда в процессе разработки системы избавляются от лишних элементов (Wirth, 1995 год; McConnell, 1997 год). Вольтер сказал, что книга считается законченной, не потому, что в ней нечего больше добавить, а потому, что в ней нечего больше убрать. В программном обеспечении это особенно актуально, потому что при изменении других кодов необходимо разрабатывать, проверять, тестировать и учитывать дополнительный код. В будущих версиях программного обеспечения необходимо поддерживать обратную совместимость с дополнительным кодом.
Стандартизация
Система, которая зависит от внешних компонентов, все больше пугает тех, кто пытается ее понять впервые. Постарайтесь использовать стандартизированные универсальные методы, чтобы сделать систему знакомой.
расширяемость
расширяемость означает, что вы можете усилить систему без разрушения ее основной структуры. Вы можете изменить часть системы без влияния на другие ее части. Самые вероятные изменения наносят системе минимальный ущерб.
Высокая скорость развертывания
Высокая вовлеченность означает большое количество классов, использующих определенный класс. Высокий уровень развертывания означает, что система спроектирована так, чтобы в полной мере использовать преимущества классов полезности более низкого уровня в системе.
От низкого до среднего разветвления
Разветвление от низкого до среднего — это когда класс использует лишь небольшое или среднее количество других классов. Высокое разветвление (более примерно 7) указывает на то, что класс использует большое количество других классов и поэтому может быть слишком сложным. Исследователи обнаружили, что принцип низкого разветвления полезен независимо от того, учитывается ли количество подпрограмм, вызываемых внутри подпрограммы, или количество подпрограмм, вызываемых внутри класса.
Портативность
Портативность означает, что проектирование системы должно облегчить ее перенос в другой окружающий мир.
Слоистый дизайн
Слоистый дизайн означает максимальное сохранение уровней декомпозиции, чтобы вы могли просматривать систему на любом уровне и получать согласованный вид. При проектировании системы вы можете просматривать ее на одном уровне, не вдаваясь в другие.
0 Комментарии
Следующая страница
Рекомендуется для вас
Извините, соответствующего контента нет