История изменений
Исправление Manhunt, (текущая версия) :
Я не умею взять и сесть начать писать программу, я буквально не знаю с чего мне начать.
Не уверен, что правильно понял твой вопрос, но давай попробую объяснить.
Начни с того, что опиши словами сценарии взаимодействия между пользователем и твоей воображаемой программой. Не то, как программа должна быть устроена внутри, а то, как она должна выглядеть для внешнего наблюдателя. Каким образом пользователь будет эту программу использовать для решения своих проблем. На каждую проблему пользователя - по отдельному сценарию, по шагам, за какие рычажки он дёргает, и что получает в ответ.
Возможно, стоит точно так же выписать сценарии взаимодействия между программой и средой исполнения - со всякими там внешними по отношению к твоей воображаемой программе сервисами.
Дальше ищешь в словесных описаниях сценариев повторяющиеся имена существительные - это будут объекты/классы. Глаголы при существительных - станут методами объектов. Программа будет сводиться к тому, чтобы породить эти объекты, связать их (грубо говоря, дать им указатели друг на друга), дергать за методы.
Попутно эту объектную модель можно натянуть на выбранный стек технологий - orm/субд, rest api, и тд и тп.
Ты об этом спрашивал?
PS. Разумеется, правильный выбор декомпозиции - занятие гораздо более сложнее, чем я тут описал. Но в учебных целях - вполне можно начать именно так.
Исходная версия Manhunt, :
Я не умею взять и сесть начать писать программу, я буквально не знаю с чего мне начать.
Не уверен, что правильно понял твой вопрос, но давай попробую объяснить.
Начни с того, что опиши словами сценарии взаимодействия между пользователем и твоей воображаемой программой. Не то, как программа должна быть устроена внутри, а то, как она должна выглядеть для внешнего наблюдателя. Каким образом пользователь будет эту программу использовать для решения своих проблем. На каждую проблему пользователя - по отдельному сценарию, по шагам, за какие рычажки он дёргает, и что получает в ответ.
Возможно, стоит точно так же выписать сценарии взаимодействия между программой средой исполнения - со всякими там внешними по отношению к твоей воображаемой программе сервисами.
Дальше ищешь в словесных описаниях сценариев повторяющиеся имена существительные - это будут объекты/классы. Глаголы при существительных - станут методами объектов. Программа будет сводиться к тому, чтобы породить эти объекты, связать их (грубо говоря, дать им указатели друг на друга), дергать за методы.
Попутно эту объектную модель можно натянуть на выбранный стек технологий - orm/субд, rest api, и тд и тп.
Ты об этом спрашивал?
PS. Разумеется, правильный выбор декомпозиции - занятие гораздо более сложнее, чем я тут описал. Но в учебных целях - вполне можно начать именно так.