Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
relationer
33 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 118
#1

Архитектура больших программ - C++

24.07.2014, 16:57. Просмотров 518. Ответов 5
Метки нет (Все метки)

Здравствуйте!

Пишу довольно большую и комлексную программу. Вопрос - как следует организовывать её внутреннюю структуру? На текущий момент у меня есть дюжина взаимодействующих между собой синглтонов (dataManager, filesManager, userInterfaceManager, inputManager, yetAnotherLongEnglishWordManager, etc), которые обновляет главный цикл.

Однако я слышал много разной критики на паттерн singleton, например, общая удаленность данных между собой, "дальние прыжки процессора по памяти", и т. д.

Вопрос - как внутри делают самый верхний уровень доступа, самый высший уровень абстракции, общую архитектуру в программах с 5000+ строк?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.07.2014, 16:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Архитектура больших программ (C++):

По какому принципу лучше изучать исходники больших программ - C++
Здравствуйте! Возможно мой вопрос прозвучит абсурдным, при том, что я новичок в программировании. Мне предложили поучаствовать в проекте,...

Объекты и архитектура - C++
Пишу программу, любую...не важно...Суть в том что я никак не могу адаптироваться под ООП, и не хрена не доходят паттерны проектирования,...

Архитектура компоновки - C++
Научился кодить(более менее), но все таки остались пробелы в понимании. Искал в гугле данные темы, но во всех очень поверхностно и...

ОС и архитектура ЭВМ - C++
Скажите, а насколько важно программисту важно знать принципы работы операционной системы, архитектуру ЭВМ? В каких областях применения С++...

Архитектура ЭВМ на С++ - C++
1. Определить режимы работы каналов таймера. 2. Реализовать программу генерации звука с определением частоты звучания случайным...

ООП архитектура игр - C++
Добрый день! Если в игре есть главный цикл, и я делаю надстройку ООП, нужно ли заносить этот цикл в класс окна/приложения...

5
uglyPinokkio
326 / 229 / 41
Регистрация: 30.05.2014
Сообщений: 682
24.07.2014, 18:48 #2
Дюжина синглетонов скорее всего ошибка в дизайне.


Цитата Сообщение от relationer Посмотреть сообщение
Вопрос - как внутри делают самый верхний уровень доступа, самый высший уровень абстракции, общую архитектуру в программах
http://www.ozon.ru/context/detail/id/2457392/
0
NeonLost
Пес войны
75 / 86 / 3
Регистрация: 23.02.2012
Сообщений: 653
24.07.2014, 19:01 #3
Цитата Сообщение от uglyPinokkio Посмотреть сообщение
Дюжина синглетонов скорее всего ошибка в дизайне.
полностью согласен...)
почитай что нибуть про MVC, MVVM...)
0
relationer
33 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 118
24.07.2014, 22:07  [ТС] #4
Ну, дюжина, это преувеличение, де-факто есть: GraphicsManager, UIManager, InputManager, Timing, и планирую для файлов. Книга - спасибо, хорошая, но я уже читал. Там, я бы сказал, большинство паттернов - для локальных задач. Спасибо за MVC, почитаю. А какие ещё есть способы помимо синглтонов?
0
NeonLost
Пес войны
75 / 86 / 3
Регистрация: 23.02.2012
Сообщений: 653
24.07.2014, 22:30 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от relationer Посмотреть сообщение
Ну, дюжина, это преувеличение, де-факто есть: GraphicsManager, UIManager, InputManager, Timing, и планирую для файлов. Книга - спасибо, хорошая, но я уже читал. Там, я бы сказал, большинство паттернов - для локальных задач. Спасибо за MVC, почитаю. А какие ещё есть способы помимо синглтонов?
Адаптер (Adapter) - GoF
Декоратор (Decorator) или Оболочка (Wrapper) - GoF
Заместитель (Proxy) или Суррогат (Surrogate) - GoF
Информационный эксперт (Information Expert)- GRASP
Компоновщик (Composite) - GoF
Мост (Bridge), Handle (описатель) или Тело (Body) - GoF
Низкая связанность (Low Coupling) - GRASP
Приспособленец (Flyweight) - GoF
Устойчивый к изменениям (Protected Variations) - GRASP
Фасад (Facade) - GoF
гугли на тему Паттерны проектирования

Добавлено через 9 минут
Цитата Сообщение от NeonLost Посмотреть сообщение
угли на тему Паттерны проектирования
АРХИТЕКТУРНЫЕ СИСТЕМНЫЕ ПАТТЕРНЫ
немного не то написал...)
0
uglyPinokkio
326 / 229 / 41
Регистрация: 30.05.2014
Сообщений: 682
25.07.2014, 03:46 #6
Цитата Сообщение от relationer Посмотреть сообщение
Там, я бы сказал, большинство паттернов - для локальных задач
Там главное не паттерны, а принципы их применения. 5000 строк - задача вполне "локальная" .
0
25.07.2014, 03:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.07.2014, 03:46
Привет! Вот еще темы с ответами:

Архитектура программы Доктор - C++
Доброе время суток) пишу программу по теме поликлиника... работа с классами и всем всем всем... но я запуталась в классах... у меня их...

Архитектура подписывания на события PhysX - C++
Добрый день, уважаемые форумчане. Пишу игровой движок на основе ECS. (В ученических целях). Есть небольшой вопросик по поводу архитектуры...

Гибкая архитектура и порождающие паттерны - C++
У меня возник вопрос следующего характера. Предположим, что есть некоторый интерфейсный класс фильтра, есть реализации, наследованные от...

Архитектура программы. Правильно ли сделал? - C++
Собствено с архитектурой вроде определился. Хотелось бы конструктивной критики. Задача по сути следующая: - Считывать данные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.