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

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

9
Як ви повинні пояснити шаблони дизайну людям, що не входять до програми Software World
Я хочу пояснити дизайнерські зразки своїй племінниці, але завжди борюся за це. Багато в чому це пояснюється моєю відсутністю чіткого розуміння моделей дизайну. Як ви пропонуєте пояснювати такі моделі, як MVC, Singleton, Factory, Repository тощо, такими простими термінами, що навіть діти 10 років можуть зрозуміти. Я шукаю приклади, які можуть …

1
Коли клей чи клас управління занадто багато роблять?
Я схильний будувати централізовані класи, які керують іншими класами в моїх проектах. Він не зберігає все сам, але більшість запитів даних спочатку перейде до "менеджера". Дивлячись на відповідь на це запитання, я помітив термін "Об'єкт Бога". У Вікіпедії зрозуміло, що це антипатрійт. Де знаходиться лінія між законним класом клею чи …

4
Реконструкція в дизайні, керованому доменом [закрито]
Закрито . Це питання потребує деталей або ясності . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Додайте деталі та уточніть проблему, відредагувавши цю публікацію . Закрито 6 років тому . Я тільки почав працювати над проектом, і ми використовуємо дизайн, керований доменом (як визначено Еріком Евансом у дизайні, керованому …

2
Як функціональне програмування обробляє ситуацію, коли на один і той же об'єкт посилається декілька місць?
Я читаю і чую, що люди (також на цьому веб-сайті) звичайно вихваляють парадигму функціонального програмування, підкреслюючи, наскільки добре мати все незмінне. Зокрема, люди пропонують такий підхід навіть у традиційно необхідних мовах OO, таких як C #, Java або C ++, а не лише в суто функціональних мовах, таких як Haskell, …

3
Як переробляти додаток із кількома випадками комутації?
У мене є додаток, який приймає ціле число як вхідне і базується на статичних методах введення викликів різних класів. Кожного разу, коли додається нове число, нам потрібно додавати інший випадок і викликати інший статичний метод іншого класу. Зараз в комутаторі 50 випадків, і кожен раз, коли мені потрібно додати ще …

3
Абстрактні властивості в базовому класі змусити програміста визначити його
Я кодую схему стану для вбудованого пристрою. У мене є базовий / абстрактний клас під назвою State, і тоді кожен дискретний (конкретний) клас класу реалізує абстрактний клас класу. У державному класі я маю кілька абстрактних методів. Якщо я не реалізую абстрактні методи в дискретному (конкретному) класі, Visual Studio видасть помилку …

1
Найкращі практики впровадження MVVM та MVC в delphi Pascal
Я програміст паскаль Delphi, використовую останню версію Embarcadero delphi XE, і я хотів би скористатися такими моделями дизайну, як контролер перегляду моделі та модель подання виду. Однак, в Інтернеті, здається, не так багато про кращі практики для цього в мові Pascal. Більшість прикладів, які я можу знайти, є на C …

2
До сховища чи не до сховища
Коли я вперше дізнався про дизайн, керований доменом, мене також ознайомили з сховищем та одиницею роботи, які колись здавались найкращими для крутих дітей, які кидали запити SQL, як печери, проти баз даних. Чим глибше я заглиблювався в цю тему, тим більше я дізнався, що вони, здається, вже не потрібні через …

2
Чи контекстне успадкування, як показано на прикладі качки Head First Pattern Patterns, не має значення для структури стратегії?
У шаблонах дизайну Head First Design викладається стратегічна схема , використовуючи приклад Duck, коли різним підкласам Duck може бути призначена певна поведінка під час виконання. З мого розуміння, ціль стратегічної схеми полягає у зміні поведінки одного об'єкта під час виконання, але вони використовують спадкування Дака для зміни поведінки різних типів …

4
Шаблон дизайну для поліморфної поведінки, дозволяючи розділити бібліотеку
Скажімо , у мене є ієрархія Itemкласів: Rectangle, Circle, Triangle. Я хочу вміти їх малювати, тому моя перша можливість - додати віртуальний Draw()метод до кожного: class Item { public: virtual ~Item(); virtual void Draw() =0; }; Однак я хочу розділити функцію малювання на окрему бібліотеку Draw, тоді як основна бібліотека …

3
Як я можу практично розробляти шаблони дизайну та рефакторинг? [зачинено]
Зачинено. Це питання поза темою . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб це було темою для обміну стеками програмного забезпечення. Закрито 4 роки тому . Я читав книгу " Рефакторинг" за шаблонами і цікавився, як я можу отримати шанс практикувати свої навички, тому що без …

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

2
Шаблон сховища та створення об'єктів DAL
Наскільки я дізнався, це IRepositoryповинно містити CRUD. Тоді ми успадковуємо це IRepositoryв наших інших інтерфейсів , як IProductі реалізувати IProductконкретний клас ProductRepository, з методами , як GetAllProducts(), Top5Products(). Ми могли б зробити те ж саме і з n-ярусною архітектурою. як, створення DAL Class Libraryі в ньому визначити клас Productз методами …

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

1
Шаблони не є будівельними блоками - тому я не повинен створювати додаток на шаблонах MVC / MVP?
Я читав цю сторінку про моделі дизайну та про те, як слід ставитися до них під час написання коду. З мого розуміння, як зазначено в заголовку посилання: Візерунки не є будівельними блоками. Якщо я правильно розумію, це означає не використовувати шаблон дизайну, поки це не має сенсу, правильно? Не починайте …

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