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

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

11
Скільки моделей дизайну та рівнів абстракції необхідні? [зачинено]
Як я можу сказати, що моє програмне забезпечення має занадто велику абстракцію та занадто багато моделей дизайну, або навпаки, як я можу знати, чи має їх більше? Розробники, з якими я працюю, по-різному програмують ці питання. Деякі з них абстрагують кожну маленьку функцію, застосовують шаблони дизайну, коли це можливо, і …

4
Чи відповідає новий нульовий умовний оператор C # 6.0 проти Закону Деметра?
Закон Деметри говорить наступне: Кожен підрозділ повинен мати лише обмежені знання про інші підрозділи: лише одиниці, "тісно" пов'язані з поточним підрозділом. Кожен підрозділ повинен спілкуватися лише зі своїми друзями; не розмовляйте з незнайомцями. Поговоріть лише зі своїми найближчими друзями. C # 6.0 представив нового оператора, який називається оператором з нульовими …

8
Як поділ коду та даних стало практикою?
Будь ласка, уважно прочитайте питання: воно запитує як , а не чому . Нещодавно я натрапив на цю відповідь , яка пропонує використовувати базу даних для зберігання незмінних даних: Це звучить як багато магічних чисел, які ви описуєте - особливо якщо вони залежать від частини - це насправді дані, а …

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

5
Чи є хорошою практикою використання об'єктів сутності як об'єктів передачі даних?
Мені цікаво, тому що якщо так, то чому Entity Framework не пропонує логіки створити новий об'єкт із тими ж властивостями для передачі даних між шарами? Я використовую об'єкти сутності, які генерую за допомогою сутності.

6
Чи існує схема дизайну, щоб усунути необхідність перевірки на наявність прапорів?
Я збираюся зберегти деякий рядок корисного навантаження в базі даних. У мене є дві глобальні конфігурації: шифрування стиснення Вони можуть бути включені або відключені за допомогою конфігурації таким чином, що або один з них увімкнено, обидва ввімкнено або обидва відключені. Моя поточна реалізація така: if (encryptionEnable && !compressEnable) { encrypt(data); …

14
Чи існує мовна чи дизайнерська схема, яка дозволяє * видаляти * поведінку об'єктів чи властивості в ієрархії класів?
Відомий недолік традиційних ієрархій класів полягає в тому, що вони погані, коли йдеться про моделювання реального світу. Як приклад, намагаючись представити види тварин класами. У цьому насправді є кілька проблем, але одна, яку я ніколи не бачив, це рішення, коли підклас «втрачає» поведінку або властивість, визначені в суперкласі, як пінгвін, …

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

4
Чи коли-небудь корисно використовувати назву шаблону дизайну в класах реалізації? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 4 роки тому . Нещодавно я натрапив на помірно великому пітон кодовий з великою кількістю MyClassAbstractFactory, MyClassManager, MyClassProxy, …

2
API REST на основі ролі?
Я будую API REST, для якого кілька користувачів з різними ролями матимуть доступ до ресурсів, які він містить. Щоб просто не було простору, візьмемо домен "студент / викладач / клас": GET /students є ресурсом для доступу. Користувачі можуть мати такі ролі, як Студент та / або Вчитель Студенти матимуть доступ …

4
Посередник проти спостерігача?
Чи може хтось надати мені канонічну відповідь на відмінності між a Observerі a Mediator, а також підсумок, коли слід використовувати один шаблон над іншим? Я не впевнений у тому, яка ситуація потребувала б Observerта яку саме ситуацію потребуватимеMediator

9
Альтернативи однотонному малюнку
Я читав різні думки щодо однотонної картини. Одні стверджують, що його слід уникати будь-якою ціною, а інші, що може бути корисним у певних ситуаціях. Одна ситуація, в якій я використовую одиночні кнопки - це коли мені потрібна фабрика (скажімо, об'єкт f типу F) для створення об'єктів певного класу A. Фабрика …

5
Який найкращий спосіб побудувати завод за допомогою NInject?
Мені дуже зручно введення залежності, використовуючи NInject в MVC3. Працюючи в додатку MVC3, я розробив власну фабрику створення контролерів за допомогою NInject, тому будь-який створений контролер матиме залежність, введені в нього через цю Фабрику контролерів. Зараз я починаю розробляти додаток для Windows, я хочу використовувати широкозахисну програму Dependency Injection. тобто …

2
DDD - Чи обробляє агрегатор кореневого сховища збереження агрегатів?
Я використовую DDD-подібний підхід для greenfield модуля існуючої програми; це не 100% DDD завдяки архітектурі, але я намагаюся використовувати деякі поняття DDD. У мене обмежений контекст (я думаю, що це правильний термін - я все ще вчуся про DDD), що складається з двох об'єктів: Conversationі Message. Бесіда - це корень, …

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

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