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

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

7
Обхід Правил у Чарівниках та Воїнах
У цій серії публікацій блогу Ерік Ліпперт описує проблему в об'єктно-орієнтованому дизайні, використовуючи в якості прикладів майстрів та воїнів, де: abstract class Weapon { } sealed class Staff : Weapon { } sealed class Sword : Weapon { } abstract class Player { public Weapon Weapon { get; set; } …

3
Структура C # для чистої обробки "вільних функцій", уникаючи статичних класів у стилі "помічник"
Нещодавно я переглядав декілька статичних класів «допоміжних мішків» у стилі помічника, що плавають навколо деяких великих C # баз кодів, з якими я працюю, в основному такі речі, як наступний дуже ущільнений фрагмент: // Helpers.cs public static class Helpers { public static void DoSomething() {} public static void DoSomethingElse() {} …

3
Написання на початку файлу те, що ви знаєте лише в кінці
Передумови: Я пишу код мікроконтролера C, щоб написати файл EBML. EBML - це як бінарний XML з вкладеними елементами, але замість початкових і кінцевих тегів є ідентифікатор початку, довжина, а потім дані. Я записую це у зовнішній Flash у програмі малої потужності, тому я хотів би звести доступ до спалаху …

4
Підхід DDD до основних операцій CRUD у складному доменно-орієнтованому застосуванні
Моя компанія переписує нашу веб-програму з нуля. Це велика програма на рівні підприємств зі складною областю у фінансовій галузі. Ми використовуємо ORM (Entity Framework) для збереження. По суті, половина наших додатків зосереджується на зборі необроблених даних від користувача, зберіганні їх, а потім інша половина програми, яка містить більшість фактичної логіки …

1
Логіка бізнесу та рівень обслуговування
Я читаю цю відповідь: https://softwareengineering.stackexchange.com/a/234254/173318, будь ласка, виправте своє розуміння. Правила бізнесу посилаються на перелік кроків бізнесу в реальному світі (без кодів). Бізнес-логіка позначає процес перетворення ділових правил у коди, а ці купи / різновиди кодів адресовані як "Бізнес-логіка". А для чого використовується рівень обслуговування? якщо я прочитаю цю відповідь, …

2
Що робить ітератор схемою дизайну?
Мені було цікаво, що саме те, що робить Ітератор особливим у порівнянні з іншими подібними конструкціями, і що змусило Банку чотирьох перерахувати його як модель дизайну. Ітератор заснований на поліморфізмі (ієрархії колекцій із загальним інтерфейсом) та розділенні проблем (повторення над колекціями має бути незалежним від способу структурування даних). Але що …

4
Як чітко визначити межі обмеженого контексту
Після місяця чи близько місяця читання та дослідження DDD я вирішив розпочати власний проект і створив DDD із цими обмеженими контекстами> Клієнти Продукція Замовлення Рахунки Кожен обмежений контекст містить API відпочинку як презентаційний шар, доменний рівень, стійкий шар. Поки добре, код працює безперебійно, але виходячи з монолітного світу, я все …

2
Чи підходить модель спостерігача, коли спостерігачі не залежать один від одного?
У мене є class Carякий має 2 властивості: int priceі boolean inStock. Він також тримає Listз abstract class State(порожнього класу). Є два стану, які можна застосувати на автомобілі, і кожне представлене власним класом: class Upgrade extends Stateі class Shipping extends State. А Carможе містити будь-яку кількість кожного з двох станів. …

1
Як я пов’язую командні об'єкти з правильним приймачем?
Я намагався використовувати командний зразок для реалізації Undo і Redo у своєму проекті public abstract class Command { protected Form Receiver { set; get; } protected HtmlElement Element { set; get; } abstract public void ReDo(); abstract public void UnDo(); public Command(Form receiver) { this.Receiver = receiver; } } class …

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

8
Конструкції та методи захисту від помилкових нульових записів із бази даних
Одна частина моєї програми отримує дані з багатьох таблиць і стовпців моєї бази даних для обробки. Деякі стовпці можуть бути null, але в поточному контексті обробки це помилка. Це "теоретично" не повинно відбуватися, тому, якщо це буде, це вказує на погані дані або помилку в коді. Помилки мають різну суворість, …

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

6
Як зменшити перемикач у операторі комутатора?
Тож я створюю метод створення лінії вітання для базування двох людей із бази даних. Існує чотири параметри: два імені ( name1і name2) та два статі ( genderі gender2). Для кожної гендерної комбінації у мене є різний результат. Наприклад: якщо гендер 1 є M(чоловік), а також гендер 2 M, результат повинен …

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

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

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