Орто денгээлдеги долбоор: буйрук сабындагы тапшырма башкаргыч
Жыйынтыктоочу долбоор: тизме генераторлорун, класстарды, файлдарды, өзгөчө жагдайларды жана тесттерди бир чыныгы консолдук колдонмого чогултабыз
класс катары сүрөттөйт, начар киргизүүнү өзгөчө жагдайлар менен туруктуу өткөрөт жана автоматтык тесттер менен корголот.
- колдонмону катмарларга (маалымат, логика, сактагыч, интерфейс) бөлүү, алардын ар бири бир ишти аткарат,
- иштер тизмесинин пунктун
to_dict/from_dictыкмалары мененTaskклассы катары сүрөттөө, - маалыматты тизме, генератордук туюнтма жана сөздүк генераторлору менен сурап жана чыпкалоо,
- маалыматты JSON файлына сактоо жана жок же бузулган файлдан өзгөчө жагдайлар менен калыбына келүү,
- мунун баарын буйрук сабынан башкаруу жана жүрүм-турумду модулдук тесттер менен бекемдөө.
1. Архитектура: төрт катмар, бир колдонмо
Жаңы баштагандардын кеңири таралган катасы - бүт программаны бир узун скриптке тыгуу. Кесипкөйлөр анын ордуна аны катмарларга бөлүшөт, мында ар бир катмардын бир милдети бар жана ал өз коңшулары менен гана байланышат. Биздин тапшырма башкаргычтын төртөө бар:
- Маалымат -
Taskклассы: бир иш эмне экени. - Логика -
TaskManagerклассы: кошуу, бүтүрүү, чыпкалоо, саноо. Ал файлдар жана экран жөнүндө эч нерсе билбейт. - Сактагыч -
save/load: тапшырмаларды дисктеги JSON'го жана кайра айландырат. Ал буйрук сабы жөнүндө эч нерсе билбейт. - Интерфейс - CLI (
main): колдонуучунун буйругунargv'дан окуйт, логиканы чакырат, жыйынтыкты басып чыгарат.
Эмне үчүн? Анткени ар бир катмарды өзүнчө түшүнүүгө, өзгөртүүгө жана тестирлөөгө болот. Сиз JSON файлын маалымат базасы менен, ал эми CLI'ди веб-баракча менен логиканы тийбей алмаштыра алат элеңиз. Бул бөлүү - бүт долбоордун эң маанилүү идеясы.