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

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

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

16
Яка модель дизайну найчастіше використовується? [зачинено]
Наразі це запитання не підходить для нашого формату запитань. Ми очікуємо, що відповіді будуть підкріплені фактами, посиланнями або експертними знаннями, але це питання, ймовірно, вимагатиме дискусій, аргументів, опитувань чи розширеної дискусії. Якщо ви вважаєте, що це питання можна вдосконалити та, можливо, знову відкрити, відвідайте довідковий центр для ознайомлення . Закрито …

2
Чому будівельник повинен бути внутрішнім класом замість власного файлу класів?
Багато Builder Patternприкладів робить цеBuilder робиться внутрішній клас об'єкта, який він будує. Це має певний сенс, оскільки вказує на те, що Builderбудується. Однак зі статистично набраною мовою ми знаємо, що такеBuilder будується. З іншого боку, якщо Builderце внутрішній клас, ви повинні знати, який клас Builderбудує, не заглядаючи всередину Builder. Крім …

6
Чи добре для класу використовувати власний публічний метод?
Фон Наразі у мене ситуація, коли у мене є об'єкт, який передається і приймається пристроєм. Це повідомлення має кілька конструкцій: public void ReverseData() public void ScheduleTransmission() ScheduleTransmissionМетод необхідно викликати ReverseDataметод щоразу , коли він викликається. Однак бувають випадки, коли мені потрібно буде зателефонувати ReverseDataзовнішньо (і мені слід додати повністю поза …

5
Чому не стало загальним зразком використовувати сетери в конструкторі?
Аксесуари та модифікатори (також сетери та геттери) корисні з трьох основних причин: Вони обмежують доступ до змінних. Наприклад, змінна може бути доступна, але не змінюватися. Вони підтверджують параметри. Вони можуть викликати деякі побічні ефекти. Університети, онлайн-курси, навчальні посібники, статті в блогах та приклади коду в Інтернеті все наголошують на важливості …

4
Законна "реальна робота" в конструкторі?
Я працюю над дизайном, але продовжуйте вражати блокпост. У мене є особливий клас (ModelDef), який по суті є власником складного дерева вузлів, побудованого за допомогою аналізу XML-схеми (думаю, DOM). Я хочу дотримуватися принципів хорошого дизайну (SOLID) та забезпечити легку перевірку отриманої системи. У мене є всі наміри використовувати DI для …

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

2
Шаблон дизайну для перевірки даних
Яка найкраща модель дизайну для цієї проблеми: У мене є Об'єкт А. Об'єкт A може бути зареєстрований або видалений з бази даних залежно від запиту користувача. Перевірка даних проводиться до реєстрації або видалення об'єкта. Існує набір правил, які потрібно перевірити, перш ніж об'єкт може бути зареєстрований, та інший набір правил …

5
успіх: / провал: блоки проти завершення: блок
Я бачу два поширених шаблони для блоків у Objective-C. Один - це пара успіху: / fail: блоки, інше - єдине завершення: block. Наприклад, скажімо, що у мене є завдання, яке поверне об'єкт асинхронно, і це може бути невдалим. Перша закономірність така -taskWithSuccess:(void (^)(id object))success failure:(void (^)(NSError *error))failure. Другий візерунок є …

11
Виберіть зусилля з розробки коду чи лінь у світі банку
Я два роки працював у чудовому інвестиційному банку. Я зробив декілька технічних проектів з бажанням створити код максимально оптимізованим, дотримуючись адаптованих хороших моделей дизайну, принципу SOLID, закону деметера та уникаючи всіляких повторюваних кодів ... При доставці у виробництво => нуль помилок, все сталося так, як очікувалося. Але більшість розробників прийшли …

8
Як реалізувати принцип DRY при використанні ключового слова "using"?
Розглянемо такі методи: public List<Employee> GetAllEmployees() { using (Entities entities = new Entities()) { return entities.Employees.ToList(); } } public List<Job> GetAllJobs() { using (Entities entities = new Entities()) { return entities.Jobs.ToList(); } } public List<Task> GetAllTasksOfTheJob(Job job) { using (Entities entities = new Entities()) { return entities.Tasks.Where(t => t.JobId == …

5
Як інша популярна мова уникає необхідності використовувати заводський зразок, керуючи подібними складностями, як у Java / Java EE?
Фабрична модель (або принаймні використання FactoryFactory..) - це приклад багатьох жартів, як тут . Крім того, що мають багатослівні та "креативні" назви, такі як RequestProcessorFactoryFactory.RequestProcessorFactory , чи є щось принципово неправильне з заводською схемою, якщо вам потрібно програмувати в Java / C ++ і чи є примірник для Abstract_factory_pattern ? …

8
Як я можу сприяти використанню шаблону Builder у своїй команді?
У нашій кодовій базі є старі, і нові програмісти, як я, швидко вчаться робити це так, як це робиться заради рівномірності. Думаючи, що нам треба десь почати, я взяв на себе рефакторинг класу власника даних як такого: Видалили методи сеттера і зробили всі поля final(я беру " finalдобре" аксіоматично). Як …

6
Чи є нещільне з’єднання без використання шаф анти-візерунком?
Для деяких розробників розсипчаста муфта - це святий граал добре розробленого програмного забезпечення. Це, безумовно, добре, коли він робить код більш гнучким на тлі змін, які, можливо, відбудуться в найближчому майбутньому, або уникне дублювання коду. З іншого боку, зусилля, спрямовані на зв'язане з'єднання компонентів, збільшують кількість непрямості в програмі, тим …

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

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