Мнения по задача Capitalism
Важно: Игнорирайте професионалното име, натиснах Enter 1 път повече.
Бих искал да чуя мнение по това което съм написал, не е цялата задача остава ми да измисля как да направя заплатите и да направя проверките. Искам да разбера какво мога да направя по-добре, за да съм добре подготвен за изпита. Също така мислите ли, че това ще е достатъчно за минаване и моля поставете оценка ако имате време.
Линк: https://github.com/krisitown/Capitalism
Другата примерна задача: https://github.com/krisitown/Empires
Благодаря за отговора, много ми помагаш, защото не бях сигурен над какво да работя за да се подготвя за изпита и да си подобря ООП уменията като цяло.
Добър ден бих искал да попитам какво мислиш за Factory да е не - статичен клас както в случая... Има ли значение..? Какви са плюсовете и минусите...? Благодаря предварително?
Статичен клас не може да се наследи, което значи, че не може да се разшири. Т.е. по-добре да не е статично факторито, особено когато вътре има суич.
Взех в предвид, нещата който не си ми написал тук и реших другата примерна задача Empires, https://github.com/krisitown/Empires
Чудех се дали това е правилния начин приложението ми да не бъде обвързано с конзолата. Също така знам че output-a ми е доста messy със всичките if-ове но просто накрая я мъчех да я докарам до 100 точки.
По принцип по такъв начин направена абстракцията ще ти позволи да развържеш енджина от конзолата, но само ако подадеш рийдъра и райтъра отвън. В случая ти ги инстанциираш в самия енджин и той пак е обвързан с конкретните класове.
Reader/Writer не са много описателни, по-скоро ConsoleReader/ConsoleWriter, понеже така е ясен източникът. След това може да си направиш FileReader/FileWriter и други.
Относно аутпута - има доста какво да оправяш, да. По-скоро трябва да подбереш по-добри структури да ти пазят информацията, за да може после да я достъпиш по културен начин, без тези проверки.
Може би е добра идея процесването на коамндите да го извадиш в метод извън while, и като направиш метода виртуален и протектед, ще може след това лесно да наследиш енджина и да екстенднеш с нови команди.
Нaпример:
Да, това ми звучи добре :)