Шаблони не є будівельними блоками - тому я не повинен створювати додаток на шаблонах MVC / MVP?


9

Я читав цю сторінку про моделі дизайну та про те, як слід ставитися до них під час написання коду. З мого розуміння, як зазначено в заголовку посилання:

Візерунки не є будівельними блоками.

Якщо я правильно розумію, це означає не використовувати шаблон дизайну, поки це не має сенсу, правильно? Не починайте говорити, що ви будете використовувати шаблон стратегії, зачекайте, поки ви напишете якийсь код, і якщо використання шаблону стратегії має сенс для вашого дизайну, тоді використовуйте його.

Чи поводжусь із схемою MCV / MVP однаково під час створення програм GUI? З відповідних посилань сказано, що це архітектурна закономірність.

Припустимо, якщо я створюю GUI-додаток і не використовую шаблон MCV / MVP, але мій код чистий, читабельний та ремонтопридатний, чи все-таки це запах коду / поганий дизайн, що я не використовував шаблон MCV / MVP ?

Відповіді:


18

Якщо я правильно розумію, це означає не використовувати шаблон дизайну, поки це не має сенсу, правильно?

Так.

Не починайте говорити, що ви будете використовувати шаблон стратегії, зачекайте, поки ви напишете якийсь код, і якщо використання шаблону стратегії має сенс для вашого дизайну, тоді використовуйте його.

Так. Технічно ви можете усвідомити, що шаблон стратегії є доцільним, перш ніж навіть писати будь-який код, але це має бути, тому що ви думали про актуальну проблему та розробляли рішення для цієї проблеми, на що я вважаю, що ви мали на увазі.

Чи обробляю схему MCV / MVP однаково під час створення програм GUI? З відповідних посилань сказано, що це архітектурна закономірність.

Так, MVC / MVP / тощо є архітектурними зразками. В одному сенсі це не має значення, оскільки ви все одно повинні використовувати MVC / MVP / тощо лише тоді, коли вони мають сенс; коли це розумно підходить до реальної проблеми, яку ви намагаєтеся вирішити. У чому це має значення - це те, що він застосовується на набагато вищому рівні, ніж, скажімо, шаблон стратегії, ви зазвичай з'ясовуєте, чи має це сенс, і вирішите, чи будете ви використовувати його як частину Ваша дизайнерська робота, перш ніж писати багато коду.

Також майте на увазі, що "MVC / MVP" - це не один єдиний зразок, а дуже величезне сімейство споріднених зразків, і немає єдиної думки щодо того, що саме вважається "MVC" або "MVP" або "MVVM" або рештою асоційований суп з алфавітом.

Припустимо, якщо я створюю GUI-додаток і не використовую шаблон MCV / MVP, але мій код чистий, читабельний та ремонтопридатний, чи все-таки це запах коду / поганий дизайн, що я не використовував шаблон MCV / MVP ?

Зовсім не тому, що MVC / MVP / тощо не підходить для кожної програми GUI. Наприклад, деякі графічні інтерфейси можуть бути настільки простими, що це було б повним надмірним вмістом, або деякі графічні інтерфейси можуть не мати стійкого стану, щоб поставити "модель" і т. Д. Є вагомі причини, чому ця сім'я шаблонів така популярна, але вони - не єдиний спосіб написати гарне програмне забезпечення для графічного інтерфейсу.

Також "запах коду" зазвичай означає щось про певний фрагмент коду, що може бути симптомом більшої проблеми. Якщо весь ваш код "чистий, читабельний і доступний для обслуговування", без будь-яких винятків, то майже за визначенням у вас немає запахів коду (крім, можливо, декількох "помилково позитивних" запахів коду, які не вказують на реальні проблеми ).

Отже, щоб відповісти на назву вашого запитання: "Як поводитися з MVC / MVP Pattern?", Я б сказав: Почитайте, чому ці схеми настільки популярні, тобто які проблеми вони намагаються вирішити, щоб у майбутньому ви можете сказати, чи можна вирішити вашу останню проблему за допомогою цих моделей.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.