C ++ и многоуровневая архитектура - PullRequest
3 голосов
/ 21 февраля 2011

Чтобы получить наивысшую оценку в недавней части курсовой работы, меня попросили разработать конкретное приложение, используя c ++ и многоуровневое программирование.

Я понимаю теорию многоуровневой архитектуры и какие именно частиэтого приложения принадлежат к какому уровню, но у меня нет опыта на самом деле реализации приложений n-уровня.

Должен ли уровень полностью отделяться?например, один процесс, выполняющий базу данных, один процесс, выполняющий пользовательский интерфейс, и третий, управляющий взаимодействиями между ними?

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

Любые советы, которые у вас есть дляМногоуровневое программирование на C ++ будет высоко оценено :)

Ответы [ 3 ]

4 голосов
/ 21 февраля 2011

Обычно, когда вы слышите «n-уровневый» фреймворк (в колледже), они имеют в виду логически сгруппированные функциональные возможности.Это может быть в отдельных процессах, но это не обязательно так.Архитектура Model-Control-View или архитектура Document-View MFC являются многоуровневыми.Вы просто хотите отделить код, который хранит / считывает данные из бизнес-правил вашего приложения, от способа отображения этой информации.

ПРИМЕЧАНИЕ. Некоторые считают, что «n-уровень» является настройкой клиент-сервер,но поскольку это курсовая работа, я серьезно сомневаюсь, что ваш профессор хочет, чтобы это было его решением).

1 голос
/ 21 февраля 2011

Профессора колледжей часто предъявляют требования, которые не соответствуют реальному миру.Поскольку ваша оценка зависит от этого, я настоятельно рекомендую спросить вашего профессора, что он имеет в виду.

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

1 голос
/ 21 февраля 2011

Одним из способов связи между процессами является использование каналов. Еще одна общая память. Еще одним является IPC Boost (уверен, что он все равно есть).

Там много. IPC (межпроцессное взаимодействие) является ключевым термином поиска.

...