Форум программистов, компьютерный форум CyberForum.ru

Посоветуйте модульные подходы создания класса - C++

Восстановить пароль Регистрация
 
rikimaru2013
C++ Game Dev
 Аватар для rikimaru2013
2139 / 972 / 223
Регистрация: 30.11.2013
Сообщений: 3,241
02.08.2015, 00:09     Посоветуйте модульные подходы создания класса #1
Добрый вечер,

пишу Tower Defence - хочу уйти от длинных классов и попробывать в этот раз какуе-то модульную систему сбора логики. Собираюсь использовать PIML и интерфейсы и friend class фабрику, собирать класс как-то так:


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class IEnemyTargetSelect
    {
        // потомки описывают поведения выбора врага: ближайщих, максимальное количество повреждения, добивания
    };
    
    class IAnimationControler
    {
        // классу дают наборы анимаций, который умеет делать переходы между типами анимации и имеет указатель на внутренюю логику, которую callback'ом отсылает о готовности к выстрелу или еще что
    };
 
    class IEventManager
    {
        // отвечает за реакцию на клики юзверга
    };
    class ITower
    {
        IEnemyTargetSelect*;
        IAnimationControler*;
        IEventManager*;
    };

Хочу собирать классы побыстрее, в случаи расширения не затрагивать уже написанные классы, гибкие классы. Что посоветуете почитать?

P.S. Ранее была проблема, что в случаи расширения логики требовалось ити к интерфейсу заставлять его иметь еще какой-то метод, и следовательно бежать по всем уже написаным класс и менять, и так снова и снова.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ct0r
C++/Haskell
 Аватар для ct0r
1549 / 568 / 39
Регистрация: 19.08.2012
Сообщений: 1,174
Завершенные тесты: 1
02.08.2015, 00:18     Посоветуйте модульные подходы создания класса #2
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
Хочу собирать классы побыстрее, в случаи расширения не затрагивать уже написанные классы, гибкие классы.
Можешь например почитать про SOLID и книгу API Design for C++.
rikimaru2013
C++ Game Dev
 Аватар для rikimaru2013
2139 / 972 / 223
Регистрация: 30.11.2013
Сообщений: 3,241
02.08.2015, 00:37  [ТС]     Посоветуйте модульные подходы создания класса #3
Так SOLID это 5 правил для всего программирония (не только для С++). Как информация про "меньше связей" и "больше внутрених связей" мне поможет в этом? При это о том, что если мне при расширении логиги надо менять или дописывать методы интерфейса, то связи много и их надо лишать? Но как? От интерфейса в какой-то момент потребуется больше чем он даёт.
ct0r
C++/Haskell
 Аватар для ct0r
1549 / 568 / 39
Регистрация: 19.08.2012
Сообщений: 1,174
Завершенные тесты: 1
02.08.2015, 01:44     Посоветуйте модульные подходы создания класса #4
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
Так SOLID это 5 правил для всего программирония (не только для С++). Как информация про "меньше связей" и "больше внутрених связей" мне поможет в этом? При это о том, что если мне при расширении логиги надо менять или дописывать методы интерфейса, то связи много и их надо лишать? Но как? От интерфейса в какой-то момент потребуется больше чем он даёт.
Например, Open/closed принцип и Dependency Inversion принцип позволяют расширять или менять существующий функционал классов, не меняя их код. inline namespaces позволяют легко оперировать несколькими версиями функционала, не ломая клиентский код. Можно приводить много таких примеров, но ты так описал проблему, что я понял лишь очень приблизительно то, что ты хочешь
Yandex
Объявления
02.08.2015, 01:44     Посоветуйте модульные подходы создания класса
Ответ Создать тему
Опции темы

Текущее время: 17:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru