LINUX.ORG.RU

История изменений

Исправление Manhunt, (текущая версия) :

Я не умею взять и сесть начать писать программу, я буквально не знаю с чего мне начать.

Не уверен, что правильно понял твой вопрос, но давай попробую объяснить.

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

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

Дальше ищешь в словесных описаниях сценариев повторяющиеся имена существительные - это будут объекты/классы. Глаголы при существительных - станут методами объектов. Программа будет сводиться к тому, чтобы породить эти объекты, связать их (грубо говоря, дать им указатели друг на друга), дергать за методы.

Попутно эту объектную модель можно натянуть на выбранный стек технологий - orm/субд, rest api, и тд и тп.

Ты об этом спрашивал?

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

Исходная версия Manhunt, :

Я не умею взять и сесть начать писать программу, я буквально не знаю с чего мне начать.

Не уверен, что правильно понял твой вопрос, но давай попробую объяснить.

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

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

Дальше ищешь в словесных описаниях сценариев повторяющиеся имена существительные - это будут объекты/классы. Глаголы при существительных - станут методами объектов. Программа будет сводиться к тому, чтобы породить эти объекты, связать их (грубо говоря, дать им указатели друг на друга), дергать за методы.

Попутно эту объектную модель можно натянуть на выбранный стек технологий - orm/субд, rest api, и тд и тп.

Ты об этом спрашивал?

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