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

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

2
Як ви керуєте конфігурацією із введенням залежності?
Я великий фанат DI / IOC. Він відмінно підходить для поводження / відсторонення важких залежностей і полегшує життя. Однак у мене є невеликий захват, який я не знаю, як вирішити. Основна ідея в DI / IOC полягає в тому, що коли об'єкт інстанціюється, всі його залежності попередньо заповнюються всередині конструктора. …

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


3
Питання для новачків про шаблон дизайну дизайнера
Я читав статтю з програмування, і в ній згадувався шаблон декоратора. Я певний час програмував, але без будь-якої формальної освіти чи навчання, але намагаюся дізнатися про стандартні зразки та таке. Тож я подивився на «Оформлювач» і знайшов у ньому статтю у Вікіпедії . Зараз я розумію концепцію візерунка «Декоратор», але …

5
Чому MVC популярніший за PAC? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 4 роки тому . Я просто натрапив на запитання в ТА про PAC і зацікавився схемою. Мені цікаво, …

1
Що грунтує насос? Іноді називають прочитаним праймером
Мене вчили цього висловлювання та зразка ще в той час. Звичайно, назва походить від старих насосів, які потрібно було наповнити водою, перш ніж вони могли перекачувати воду, але кого це хвилює? Тут ми говоримо про код. Кілька справді хороших прикладів та пояснення того, що досягається закономірністю, було б бажано. Як …

2
Принцип найменшого здивування (POLA) та інтерфейси
Добру чверть століття тому, коли я вивчав C ++, мене вчили, що інтерфейси повинні прощати і, наскільки це можливо, не піклуватися про порядок виклику методів, оскільки споживач може не мати доступу до джерела чи документації замість це. Однак щоразу, коли я наставляв молодших програмістів і старших розробників, почув мене, вони …

4
Чи застосовується Принцип єдиної відповідальності щодо функцій?
За словами Роберта К. Мартіна, СРП стверджує, що: Ніколи не повинно бути більше ніж одна причина для зміни класу . Однак у своїй книзі « Чистий код» , глава 3: Функції, він показує такий блок коду: public Money calculatePay(Employee e) throws InvalidEmployeeType { switch (e.type) { case COMMISSIONED: return calculateCommissionedPay(e); …

5
Чи створюють переліки крихкі інтерфейси?
Розглянемо приклад нижче. Будь-яка зміна перерахунку ColorChoice впливає на всі підкласи IWindowColor. Чи викликають перерахунки крихкі інтерфейси? Чи є щось краще, ніж ентум, щоб дозволити більше поліморфної гнучкості? enum class ColorChoice { Blue = 0, Red = 1 }; class IWindowColor { public: ColorChoice getColor() const=0; void setColor( const ColorChoice …

7
Що робити, якщо я не буду використовувати шаблони дизайну програмного забезпечення? [зачинено]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередило увагу на одній проблемі, лише відредагувавши цю публікацію . Закрито 6 років тому . З якими проблемами я можу зіткнутися, якщо не буду використовувати шаблони дизайну програмного забезпечення? …

8
Чи варто введення залежності залежно від UnitTesting
Враховуючи конструктор, який ніколи і ніколи не повинен буде використовувати будь-які різні реалізації декількох об'єктів, які він ініціалізує, чи все-таки практичним є використання DI? Зрештою, ми можемо все ж захотіти провести тест. Клас, про який йде мова, ініціалізує декілька інших класів у своєму конструкторі, і класи, які він використовує, досить …

3
Чи порушує державний зразок Принцип заміни Ліскова?
Це зображення взято із застосування дизайну та шаблонів, керованих доменом: із прикладами в C # та .NET Це діаграма класів для шаблону стану, в якій SalesOrderможе мати різні стани протягом свого життя. Дозволені лише певні переходи між різними станами. Тепер OrderStateклас - це abstractклас, і всі його методи успадковуються підкласам. …

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

2
Зв'язок між сховищем та підрозділом роботи
Я збираюся реалізовувати сховище, і я хотів би використовувати шаблон UOW, оскільки споживач сховища міг зробити кілька операцій, і я хочу зробити їх відразу. Прочитавши кілька статей з цього питання, я все ще не розумію, як співвідносити ці два елементи, залежно від статті, яка робиться в інший спосіб. Іноді UOW …

6
Стратегії уникнення SQL у ваших контролерах ... або скільки методів я повинен мати у своїх моделях?
Тож ситуація, з якою я стикаюся досить часто, - це така ситуація, коли мої моделі починають чинити: Виростають у монстрів тоннами і тонами методів АБО Дозволяють передавати їм шматочки SQL, щоб вони були досить гнучкими, щоб не потрібно мільйон різних методів Наприклад, скажімо, у нас є модель "віджет". Почнемо з …

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