Запитання з тегом «architecture»

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

2
Як би ви реалізували пошук Google? [зачинено]
Припустимо, вас запитали в інтерв'ю "Як би ви реалізували пошук Google?" Як би ви відповіли на таке запитання? Там можуть бути ресурси, які пояснюють, як реалізуються деякі фрагменти в Google (BigTable, MapReduce, PageRank, ...), але це не зовсім відповідає інтерв'ю. Яку загальну архітектуру ви б використали, і як би ви …

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

6
Яка роль провідного розробника у спритній команді?
В не гнучкою команди розробників є провідним розробником в цілому : Встановлює стандарт (кодування та інше) Досліджує нові технології для команди Встановлює технічний напрямок для команди Має остаточне слово з питань Проектує архітектуру системи Однак спритна команда працює інакше: Проворна команда буде покладатися на новий дизайн, а не на передню …

7
Як я зупиняю розробку та починаю архітектуру цього проекту, як запропонував мій керівник? [зачинено]
Я молодший розробник (~ 3 роки досвіду) і на своїй роботі ми працюємо над створенням нової системи. Мій головний розробник буде головним архітектором, однак він кидає виклик мені спробувати архітектуру самої системи (паралельно). Протягом декількох ітерацій ідей мозкового штурму та пропозицій того, що я бачив як архітектурні пропозиції, моє керівництво …

10
Застосування принципу єдиної відповідальності
Нещодавно у мене виникла начебто тривіальна архітектурна проблема. У мене був простий сховище в коді, який називався так (код знаходиться в C #): var user = /* create user somehow */; _userRepository.Add(user); /* do some other stuff*/ _userRepository.SaveChanges(); SaveChanges була простою обгорткою, яка здійснює зміни в базі даних: void SaveChanges() …

4
REST - компроміси між узгодженням вмісту через заголовок Accept та розширення
Я працюю над розробкою API RESTful. Ми знаємо, що хочемо повернути JSON і XML для будь-якого ресурсу. Я думав, що ми зробимо щось подібне: GET /api/something?param1=value1 Accept: application/xml (or application/json) Однак хтось кинув, використовуючи розширення для цього, наприклад: GET /api/something.xml?parm1=value1 (or /api/something.json?param1=value1) Які компроміси з цими підходами? Краще покластися на …

9
Що можна зробити, коли "вести приклад" не працює? [зачинено]
Я працюю у великій компанії (8000+ працівників) вже майже 2 роки, і мене прийняли на роботу відразу після того, як я закінчив навчальний курс. Кожен тут має щодня стикатися зі застарілим кодом, який часто дуже погано розроблений і повний хаків. Спочатку я тримав низьку позицію, намагаючись не критикувати речі занадто …

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

17
Дизайн програмного забезпечення: побудувати його швидко або добре побудувати?
Створюючи нетривіальне додаток, найкраще зосередитись на тому, щоб швидко працювати над тим, і робити ярлики в коді, наприклад, змішуючи логіку моделі з вашими поглядами, порушуючи інкапсуляцію - типовий запах коду? Або вам краще витратити час наперед, щоб створити більше архітектури, побудуйте її правильно, але ризикуєте, що весь цей додатковий код …

2
Скільки коштує занадто багато введення залежності?
Я працюю над проектом, який використовує (Spring) Dependency Injection для буквально всього, що є залежністю класу. Ми знаходимось у точці, коли файл конфігурації Spring виріс приблизно до 4000 рядків. Не так давно я дивився один з переговорів дядька Боба на YouTube (на жаль, я не зміг знайти посилання), у якому …

7
Який кращий спосіб зберігання конфігурацій додатків?
Більшу частину часу я зберігаю конфігурацію програми розробки в кореневому каталозі проекту, наприклад: app |-- config.json Але це здається не найкращим підходом, оскільки ця конфігурація зберігається в системі контролю версій - можливо, це призводить до витоку імен користувачів, паролів та інших чутливих речей. 12 Посібник із програми Factor рекомендує взагалі …

11
Переконайтесь, що кожен клас несе лише одну відповідальність, чому?
Відповідно до документації Microsoft, статті статті Wikipedia SOLID або більшості ІТ-архітекторів, ми повинні гарантувати, що кожен клас несе лише одну відповідальність. Мені хотілося б знати, чому, якщо всі, здається, згодні з цим правилом, схоже, ніхто не погоджується з причинами цього правила. Деякі кажуть, що це краще обслуговування, деякі кажуть, що …

11
Чи застарілі заняття / методи застарілі?
Я використовував для створення багатьох абстрактних класів / методів. Потім я почав використовувати інтерфейси. Зараз я не впевнений, чи інтерфейси не роблять абстрактні класи застарілими. Вам потрібен повністю абстрактний клас? Створіть замість цього інтерфейс. Вам потрібен абстрактний клас з деякою реалізацією в ньому? Створіть інтерфейс, створіть клас. Успадкуйте клас, реалізуйте …

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

6
Повторно винаходити дизайн системи для Scala
Багато, багато місяців тому я займався майстрами в області об'єктно-орієнтованої програмної інженерії. Я висвітлював усе: ініціювання проекту, вимоги, аналіз, дизайн, архітектура, розробка тощо, тощо. Моєю улюбленою інформаційною книжкою всіх часів була розробка об’єктно-орієнтованого програмного забезпечення, підхід, заснований на досвіді (IBM-1996). Книга, створена групою справжніх експертів свого часу. Він описує підхід, …

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