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

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

2
Використання пакетів (дорогоцінних каменів, яєць тощо) для створення роз'єднаних архітектур
Основне питання Бачачи хорошу підтримку більшості сучасних платформ програмування мають для управління пакетами (думають gem, npm, і pipт.д.), має сенс розробити додаток або систему складаються з внутреннх розроблених пакетів, таким чином , щоб заохочувати і створювати слабо зв'язаної архітектуру? Приклад Прикладом цього може бути створення пакетів для доступу до бази …

4
Скільки зусиль потрібно вкласти у створення нещільно зв'язаних конструкцій?
В даний час я дізнаюся про схеми дизайну. Я думаю, що більшість людей погодиться, що ці зразки є чудовими інструментами, але їх слід використовувати помірковано, а не як відповідь на все. Використання їх занадто сильно ускладнить додаток з невеликою користю. Шаблони слід використовувати лише там, де вони можуть бути найкращим …

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

2
Де перевірити правила доменної моделі, які залежать від вмісту бази даних?
Я працюю над системою, яка дозволяє адміністраторам визначати форми, які містять поля. Визначені форми потім використовуються для введення даних у систему. Іноді Форми заповнюються людиною через GUI, іноді Форма заповнюється на основі значень, повідомлених іншою системою. Для кожного поля адміністратор може визначити правило перевірки, яке обмежує допустимі значення для поля. …

2
Контекстний клас у шаблоні стратегії
Я намагаюся зрозуміти схему стратегії і запитую себе: чи повинен бути контекстний клас обов'язковим чи можна його залишити без шкоди для мети шаблону? У мене було враження, що мені потрібен якийсь комутатор для читання файлів різних типів, але я не хотів просто щось зламати і пізніше займатися рефакторингом (хоча, звичайно, …

5
Чи може / має чи в базовому режимі пошук основних даних із Моделі у MVC?
Враховуючи концепцію "худих контролерів, жирових моделей" та загального визнання того, що Views можуть безпосередньо закликати Моделі, коли потрібні дані для виведення даних, чи варто розглядати обробку частин запитів "дістати та відображати" в межах Views, а не контролера? Наприклад (спроба зберегти код досить загальним): Контролер <?php class Invoice extends Base_Controller { …

7
Чи використання умов безпеки з огляду на порушення MVC?
Часто те, що відображається користувачеві (наприклад, на веб-сторінці), частково базуватиметься на перевірках безпеки. Зазвичай я вважаю безпеку рівня користувача / ACL частиною бізнес-логіки системи. Якщо представлення явно перевіряє безпеку для умовного відображення елементів інтерфейсу, чи порушує MVC вміст бізнес-логіки?

1
Корисні шаблони дизайну для роботи з FragmentManager на Android
Працюючи з фрагментами, я використовував клас, що складається зі статичних методів, що визначають дії на фрагменти. У будь-якому проекті у мене може бути клас під назвою FragmentActions, який містить методи, подібні до наступного: public static void showDeviceFragment(FragmentManager man){ String tag = AllDevicesFragment.getFragmentTag(); AllDevicesFragment fragment = (AllDevicesFragment)man.findFragmentByTag(tag); if(fragment == null){ fragment …

5
Як поділити тест на функцію, яка відновлена ​​до стратегії?
Якщо у мене в коді функція така: class Employee{ public string calculateTax(string name, int salary) { switch (name) { case "Chris": doSomething($salary); case "David": doSomethingDifferent($salary); case "Scott": doOtherThing($salary); } } Зазвичай я б перетворював це на використання Ploymorphism, використовуючи заводський клас та шаблон стратегії: public string calculateTax(string name) { InameHandler …

4
Дизайн-схема для обробки відповіді
Більшу частину часу, коли я пишу якийсь код, який обробляє відповідь на певний виклик функції, я отримую таку структуру коду: Приклад: Це функція, яка буде обробляти аутентифікацію для системи входу class Authentication{ function login(){ //This function is called from my Controller $result=$this->authenticate($username,$password); if($result=='wrong password'){ //increase the login trials counter //send …

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

4
Грамотне програмування, хороша / погана методологія дизайну
Нещодавно я знайшов поняття грамотного програмування . І я вважав це досить інтригуючим. Але я не стикався з твердженнями, що це поганий спосіб структурування програми. Здається, не охоплено багато місць. Навіть тут я не міг знайти жодних запитань з цього приводу. Моє питання не в його недоліках чи способах поводження …

3
Модель спостерігача; знаючи * що * змінилося?
Я створив два абстрактних класи Subject і Observer, які визначають класичний інтерфейс шаблону Observer. Я отримую від них реалізацію схеми спостерігача. Спостерігач може виглядати так: void MyClass::Update(Subject *subject) { if(subject == myService_) { DoSomething(); } else if(subject == myOtherService_) { DoSomethingElse(); } } Це добре, і це говорить мені, хто …

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

2
Які схеми дизайну GOF вже реалізовані як першокласні мовні функції у C #?
(Це питання було закрито в Stack Overflow через те, що він "занадто широкий" і "не справжній питання", тож, можливо, це тут більше? " Натхненний цим питанням . Ми знаємо, що події - це реалізація структури спостерігача на мовному рівні. Чи існують інші схеми дизайну, реалізовані як мовні функції в C …

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