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

Архітектурна структура - це загальне багаторазове рішення, пов'язане зі структурою програмного забезпечення високого рівня. Для рішень для багаторазового використання, які мають більш конкретну область застосування (наприклад, окремі класи / компоненти та їх взаємодія), віддайте перевагу тегу "дизайн-шаблони".

11
Що означає Роберт К. Мартін, якщо SQL є непотрібним? [зачинено]
Я багато читав / переглядав вміст Роберта К. Мартіна. Я натрапив на нього, кажучи, що SQL непотрібний через твердотільні накопичувачі. Коли я шукаю інші джерела, щоб підтвердити це, я отримую купу випадкових статей, що описують різницю продуктивності SQL між жорсткими дисками та твердотільними накопичувачами (що пов'язано, але не те, що …

5
Чиста архітектура: використовувати корпус, що містить презентатора або повертаючі дані?
Чистий Архітектура пропонує дозволити випадок використання Interactor назвати фактичну реалізацію провідних (який вводиться, після DIP) для обробки відповіді / дисплея. Однак я бачу людей, що реалізують цю архітектуру, повертають вихідні дані з інтерактора, а потім дозволяють контролеру (у адаптерному шарі) вирішувати, як з ним поводитися. Чи є друге рішення, що …

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

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

5
Функція повертає true / false порівняно з void при успіху та викиданні винятку при відмові
Я будую API, функцію, яка завантажує файл. Ця функція не поверне нічого / недійсним, якщо файл завантажено правильно та викине виняток, коли виникла якась проблема. Чому виняток, а не просто хибний? Тому що всередині винятку я можу вказати причину збою (відсутність з'єднання, відсутні файлове ім'я, неправильний пароль, відсутність опису файлу …

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

5
Чи орієнтований об'єкт архітектури компонентної системи об'єднання за визначенням?
Чи орієнтований об'єкт архітектури компонентної системи за визначенням? Мені це здається більш процедурним чи функціональним. На мою думку, це не заважає вам впроваджувати його на мові ОО, але не було б ідіоматичним робити це непохитним способом ОО. Схоже, ECS відокремлює дані (E&C) від поведінки (S). Як доказ : Ідея полягає …

4
Чи варто CQRS / MediatR при розробці програми ASP.NET?
Нещодавно я розглядав CQRS / MediatR. Але чим більше я набиваю, тим менше мені подобається. Можливо, я щось / все зрозумів неправильно. Отже, це починається приголомшливо, стверджуючи, що зводити контролер до цього public async Task<ActionResult> Edit(Edit.Query query) { var model = await _mediator.SendAsync(query); return View(model); } Що ідеально підходить до …

4
Як поводитися з "круговою залежністю" при ін'єкції залежності
У заголовку написано "Кругова залежність", але це не правильне формулювання, оскільки мені дизайн здається солідним. Однак розглянемо наступний сценарій, коли сині частини подаються від зовнішнього партнера, а помаранчевий - це моя власна реалізація. Припустимо також, що існує більше одного ConcreteMain, але я хочу використовувати конкретний. (Насправді кожен клас має ще …

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

3
У чому різниця між видавцем-абонентом та реактором?
Шаблони публікації-підписки та Reactor дуже схожі на мене. Чим вони відрізняються? В обох шаблонах повідомлення передається абонентам опосередковано (слухачі за схемою реактора). Я думаю, що модель спостерігачів дуже схожа на дві інші моделі. Які ключові відмінності між цими моделями?

4
Замінити умовне поліморфізмом належним чином?
Розглянемо два класи Dogі Catобидва, що відповідають Animalпротоколу (з точки зору мови програмування Swift. Це буде інтерфейс у Java / C #). У нас є екран із змішаним списком собак та котів. Є Interactorклас, який керується логікою за кадром. Тепер ми хочемо подати користувачеві попередження про підтвердження, коли він хоче …

3
Уникаючи конструкторів з багатьма аргументами
Тож у мене є завод, який створює об’єкти різних класів. Усі можливі класи походять від абстрактного предка. Фабрика має файл конфігурації (синтаксис JSON) і вирішує, який клас створити, залежно від конфігурації користувача. Щоб досягти цього, фабрика використовує boost :: property_tree для JSON-розбору. Він проходить птахом і вирішує, який конкретний об’єкт …

5
Розробка надійної архітектури для декількох типів експорту?
Я шукаю зразки або архітектурні вказівки для майбутньої функції, яку я проектую. В основному, це експортна функція з кількома цілями експорту, і я шукаю спосіб зробити її загальною, коли підключення нових експортних цілей не потребує великих змін. Під експортними цілями я просто маю на увазі різні види вихідних даних, будь …

3
Як створити додаток з високою доступністю
В даний час у нас є класичне n-ярусне додаток: DB / веб-сервіс / front-end. У нього є інші компоненти, але це основний макет. Ми хочемо покращити доступність програми з 3 основних причин: Наш хост іноді відчуває перебої (як це роблять усі), і ми хочемо мінімізувати вплив на наших клієнтів, тому, …

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