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

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

4
Це "запах шаблону", щоб у вашу модель включити геттери типу "FullName" або "FormattedPhoneNumber"?
Я працюю над програмою ASP.NET MVC, і мені стало звично розміщувати те, що здається корисним та зручним для роботи в моїх класах / моделях. Наприклад: public class Member { public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } …

9
Шаблони дизайну: чи слід їх вивчати? [зачинено]
Зачинено. Це питання поза темою . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно було тематичним для обміну стеками програмного забезпечення. Закрито 4 роки тому . Так що дивно задавати два запитання спиною до спини, але вони не дуже пов’язані між собою, і я не хотів …

1
Яка процедура дотримується під час написання лексики на основі граматики?
Читаючи відповідь на запитання Роз’яснення щодо граматики, лексерів та парсерів , у відповіді було зазначено, що: [...] Граматика BNF містить усі правила, необхідні для лексичного аналізу та розбору. Це траплялося для мене якось дивно, тому що до цього часу я завжди вважав, що лексема взагалі не заснована на граматиці, в …

6
Який найпростіший з файлів конфігураційний файл для читання? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 5 років тому . Поточний файл конфігурації такий: mainwindow.title = 'test' mainwindow.position.x = 100 mainwindow.position.y = 200 mainwindow.button.label …

6
DDD відповідає OOP: Як реалізувати об'єктно-орієнтований сховище?
Типова реалізація сховища DDD не виглядає дуже OO, наприклад save()метод: package com.example.domain; public class Product { /* public attributes for brevity */ public String name; public Double price; } public interface ProductRepo { void save(Product product); } Інфраструктурна частина: package com.example.infrastructure; // imports... public class JdbcProductRepo implements ProductRepo { private …

1
Використання друзів класів для інкапсуляції функцій приватних членів на C ++ - хороша практика чи зловживання?
Тому я помітив, що можна уникнути введення приватних функцій у заголовки, роблячи щось подібне: // In file pred_list.h: class PredicateList { int somePrivateField; friend class PredicateList_HelperFunctions; public: bool match(); } // In file pred_list.cpp: class PredicateList_HelperFunctions { static bool fullMatch(PredicateList& p) { return p.somePrivateField == 5; // or whatever } …

2
Як уникнути дублювання структур даних, коли частини програми написані різними мовами?
Наприклад, скажіть, що ви пишете додаток на Java . Ваш додаток спілкується з сервером API, написаним на Python . Сервер Python спілкується з базою даних SQL . У вас також є веб-сайт для вашої програми, написаний на JavaScript . З 4 різними мовами легко в кінцевому підсумку повторювати по суті …

4
Як клас повинен повідомляти своїм користувачам про те, який підмножина методів він реалізує?
Сценарій Веб-додаток визначає користувацький інтерфейс користувача IUserBackendіз методами getUser (uid) createUser (uid) deleteUser (uid) setPassword (uid, пароль) ... Різні програмні засоби користувача (наприклад, LDAP, SQL, ...) реалізують цей інтерфейс, але не кожен сервер може зробити все. Наприклад, конкретний сервер LDAP не дозволяє цій веб-програмі видаляти користувачів. Тож LdapUserBackendклас, який реалізує …

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

8
Правильна конструкція для класу з одним методом, який може відрізнятися між клієнтами
У мене є клас, який використовується для обробки платежів клієнтів. Усі, крім одного із методів цього класу, однакові для кожного замовника, за винятком способу, який обчислює (наприклад), скільки заборгував користувач. Це може сильно відрізнятися від замовника до замовника, і немає простого способу зафіксувати логіку обчислень у чомусь подібному файлі властивостей, …


3
Розуміння моделі Flux
Я насправді вивчаю схему флюсу, і я не можу зрозуміти, що стосується магазинів . Які вони саме? Я прочитав багато статей, і, здається, це стосується домену. Чи означає це, що це "абстрактна" частина, пов'язана з api-дзвінками чи зворотними дзвінками? Мені це не дуже зрозуміло. Редагувати: Чи може це те саме, …

2
Чому "блискавка" ігнорує звисаючий хвіст колекції?
C # , Scala, Haskell, Lisp і Python мають однакову zipповедінку: якщо одна колекція довша, хвіст мовчки ігнорується. Це також може бути винятком, але я не чув жодної мови, використовуючи цей підхід. Це мене спантеличує. Хтось знає причину, чому так zipстворено? Я думаю, що для нових мов це робиться, тому …

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

3
Яка хороша модель дизайну для генерації файлу Excel (xlsx) у коді?
Докладніше див. У розділі Моє оновлення внизу. Іноді у мене є проекти, де мені доводиться виводити деякі дані у вигляді файлу Excel (формат xlsx). Зазвичай процес: Користувач натискає деякі кнопки в моїй програмі Мій код виконує запит БД і якось обробляє результати Мій код генерує файл * .xlsx, використовуючи бібліотеки …

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