Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Общие рекомендации по проектированию классовОдин из известных разработчиков объектно-орентированных языков Бъярн Страуструп утверждает, что ключ к искусному проектированию можно подобрать, если непосредственно моделировать некоторые аспекты "окружающей действительности", то есть "поймать" понятия из данной прикладной области в виде классов, представить зависимости между классами формальным образом, например, в виде наследования или агрегирования, и проделывать эти операции повторно на разных уровнях абстракции. Но как найти такие понятия и как определить - какие классы нам нужны? Лучше всего начинать с изучения самой прикладной области как множество абстракций и концепций. Особое внимание при этом следует обратить на используемый словарь терминов. Часто утверждают, что существительные соответствуют классам в программе. Глаголы могут означать операции над объектами. Часто в виде классов можно представить даже прилагательные. Такие прилагательные, как "хранимый", "согласованный", "зарегистрированный" можно представить в виде виртуальных базовых классов с той целью, чтобы разработчик мог отбирать из них наиболее подходящие атрибуты-классы и наделять (используя наследование) этими атрибутами классы, которые будут разрабатываться позднее. Уточнять эти понятия на начальной стадии лучше всего путём обсуждения с экспертами в данной прикладной области и коллегами. Такое обсуждение необходимо для того, чтобы выработать жизнеспособный начальный словарь и концептуальную основу для дальнейшего движения. На уровне реализации классы могут также представлять системные ресурсы и другие абстракции. Взаимосвязи на данной стадии проектирования возникают естественным образом в результате понимания прикладной области, либо вследствие последующей работы над структурой класса..
|