Запитання з тегом «design-patterns»

Шаблон дизайну є загальним для багаторазового вирішення часто зустрічається проблеми в розробці програмного забезпечення.

4
Коли використовувати шаблон сховища
Нещодавно я читав, що не дуже корисно використовувати шаблон сховища спільно з ORM. Наскільки я розумію, це тому, що абстракція, яку вони надають над базою даних SQL, є надто герметичною, щоб її містити шаблон. У мене є кілька запитань з цього приводу: Що робити, якщо ви хочете вимкнути ORM? У …

5
Чи орієнтований об'єкт архітектури компонентної системи об'єднання за визначенням?
Чи орієнтований об'єкт архітектури компонентної системи за визначенням? Мені це здається більш процедурним чи функціональним. На мою думку, це не заважає вам впроваджувати його на мові ОО, але не було б ідіоматичним робити це непохитним способом ОО. Схоже, ECS відокремлює дані (E&C) від поведінки (S). Як доказ : Ідея полягає …

10
Чи може / чи повинен застосовуватися Принцип єдиної відповідальності до нового коду?
Принцип визначається як модулі, які мають одну причину зміни . Моє запитання: напевно ці причини зміни не відомі, поки код фактично не почне змінюватися ?? Насправді, кожен фрагмент коду має численні причини, чому він міг би змінитися, але, безумовно, спроба передбачити все це та спроектувати ваш код, маючи на увазі, …

2
Що таке «велика кількість» винятків, які можна застосувати для моєї бібліотеки?
Мені завжди було цікаво, скільки різних класів виключень я повинен реалізовувати та кидати для різних частин свого програмного забезпечення. Моя конкретна розробка зазвичай пов'язана з C ++ / C # / Java, але я вважаю, що це питання для всіх мов. Я хочу зрозуміти, що таке велика кількість різних винятків, …

7
Чи є написання власного шару доступу до даних / картографічних даних «хорошою» ідеєю?
Наразі ми перебуваємо в ситуації, коли у нас є вибір між використанням об'єктивного реляційного картографічного об'єкта, що випускається, або прокатування власного У нас є застаріле додаток (ASP.NET + SQL Server), де рівень даних та бізнес-рівень, на жаль, пюре разом. Система не є особливо складною з точки зору доступу до даних. …

1
Вкладені URL-адреси REST та ідентифікатор батьків, який краще дизайн?
Гаразд, у нас є два ресурси: Albumі Song. Ось API: GET,POST /albums GET,POST /albums/:albumId GET,POST /albums/:albumId/songs GET,POST /albums/:albumId/songs/:songId Ми знаємо, що ненавидимо якусь пісню, її називають Susy, наприклад. Де ми повинні вжити searchзаходів? Інше питання. Гаразд, зараз це більш реально. Відкриваємо альбом 1 і завантажуємо всі пісні. Ми створюємо об'єкти …

7
Різниця між шаблоном і принципом
Яка різниця між об'єктно-орієнтованими моделями дизайну та принципами? Вони різні речі? Наскільки я зрозумів, вони обидва намагаються досягти якоїсь спільної мети (наприклад, гнучкість). Тож чи можу я сказати, що модель є принципом і навпаки? Принцип проектування = твердий (тобто принцип інверсії залежності) Шаблон дизайну = Gof (тобто абстрактний заводський візерунок)

5
Чи використання *** Helper або *** Util класів, що містять лише статичні методи, AntiPattern
Мені часто доводиться стикатися з помічниками чи утилітами на Java або будь-якою мовою. Тож я запитав себе, чи є це якийсь антидіапазон, і існування таких класів є лише відсутністю недоліків у дизайні та архітектурі програмного забезпечення. Часто ці заняття обмежуються лише статичними методами, які роблять багато справ. Але здебільшого це …

4
Як занадто багато змінних примірників призводить до дублювання коду?
Відповідно до Refactoring to Patterns : Коли клас намагається зробити занадто багато, він часто виявляється як занадто багато змінних екземплярів. Коли у класу занадто багато змінних примірників, дублюваний код не може відстати. Як занадто багато змінних примірників призводить до дублювання коду?

4
У чому різниця між принципом єдиної відповідальності та розділенням проблем
а) Яка різниця між SRP та SoC ? Можливо, що SRP застосовується на рівні класу, тоді як SoC може застосовуватися на рівні системи , підсистеми , модуля , класу або функції . б) Якщо відповідь на " а" - так, то чи застосовується SoC на рівні класу синонім SRP ? …

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

3
Шаблони для проходження контексту через ланцюжок методів
Це дизайнерське рішення , що , як видається , придумати досить багато: як пройти контекст через метод , який не потребує в його метод , який робить. Чи є правильна відповідь чи це залежить від контексту. Зразок коду, який потребує рішення // needs the dependency function baz(session) { session('baz'); } …

6
Чи реєстрація поруч із впровадженням є порушенням SRP?
Думаючи про гнучку розробку програмного забезпечення та всі принципи (SRP, OCP, ...), я запитую себе, як ставитись до ведення журналів. Чи реєстрація поруч із впровадженням є порушенням SRP? Я б сказав, yesтому що реалізація також має бути спроможна запускатись без реєстрації. Тож як я можу краще реалізувати ведення журналу? Я …

2
Чи є докази того, що використання ін'єкцій залежностей покращує результати в розробці програмного забезпечення?
Незважаючи на його популярність, чи є якісь емпіричні докази, які показують, що залежність від ін'єкцій (та / або використання контейнера DI) допомагає, скажімо, зменшити кількість помилок, покращити ремонтопридатність або збільшити швидкість розвитку програмних програм у реальному житті?

2
Чи є хорошою ідеєю визначити одну велику приватну функцію в класі для підтримки дійсного стану, тобто оновлення членів даних об’єкта?
Хоча в наведеному нижче коді використовується проста покупка одного товару на веб-сайті електронної комерції, моє загальне питання стосується оновлення всіх членів даних, щоб постійно зберігати дані об’єкта у дійсному стані. Я знайшов "послідовність" та "стан зло" як відповідні фрази, обговорювані тут: https://en.wikibooks.org/wiki/Object_Oriented_Programming#.22State.22_is_Evil.21 <?php class CartItem { private $price = 0; …

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