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

Питання щодо вирішення проблем та планування рішення за допомогою розробки програмного забезпечення.

4
Це "Неправильно" / Погана конструкція, щоб перетворити нитку / фонового працівника в клас?
У мене є клас, який буде читати з Excel (C # і .Net 4), і в цьому класі я маю фонового працівника, який завантажуватиме дані з Excel, поки інтерфейс користувача може залишатися чуйним. Моє запитання таке: чи поганий дизайн мати фонового працівника в класі? Чи повинен я створити свій клас …

5
Чи можна застосовувати DRY без збільшення зчеплення?
Припустимо, у нас є програмний модуль A, який реалізує функцію F. Інший модуль B реалізує ту ж функцію, що і F '. Існує кілька способів позбутися від дублюючого коду: Нехай A використовує F 'від B. Нехай B використовує F від A. Помістіть F у власний модуль C і дозвольте їм …

3
Множини, що будують одну реалізацію. DI безнадійно? Використовувати локатор обслуговування?
Скажімо, у нас є 1001 клієнт, який будує свої залежності безпосередньо, а не приймає ін'єкції. Переобладнання 1001 не є варіантом на думку нашого начальника. Нам фактично навіть не дозволений доступ до їх джерела, лише файли класу. Ми повинні зробити "модернізацію" системи, через яку проходять ці 1001 клієнт. Ми можемо рефакторити …

5
Стиль кодування OOP: ініціалізувати все на конструкторі?
Я все ще вважаю себе програмістом-підмайстром, тому завжди прагну вивчити «кращий» спосіб типового програмування. Сьогодні мій колега стверджував, що мій стиль кодування робить непотрібну роботу, і я хочу почути думку інших. Як правило, коли я проектую клас на мові OOP (зазвичай це C ++ або Python), я б розділив ініціалізацію …

1
Чи є гарною практикою реалізація двох методів за замовчуванням Java 8 з точки зору один одного?
Я розробляю інтерфейс із двома спорідненими методами, подібними до цього: public interface ThingComputer { default Thing computeFirstThing() { return computeAllThings().get(0); } default List<Thing> computeAllThings() { return ImmutableList.of(computeFirstThing()); } } Близько половини реалізацій буде обчислювати лише одне, тоді як інша половина може обчислювати більше. Чи є цей прецедент у широко використовуваному …

3
Як дотримуватися принципу відкритого закриття на практиці
Я розумію наміри принципу відкритого закритого типу. Це покликане зменшити ризик зламати щось, що вже працює, змінюючи його, сказавши вам спробувати продовжити, не змінюючи. Однак у мене виникли проблеми з розумінням того, як цей принцип застосовується на практиці. Наскільки я розумію, це два способи застосувати. Beofore та після можливої ​​зміни: …

8
Поняття та дизайн перед кодуванням: наскільки це правда? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 5 років тому . Я дізнався в школі, а також читав всюди, що для розробки методології потрібна концепція …

5
Чи потрібно написати інтерфейс API перед реалізацією?
Нещодавно я заглиблювався в більш "організоване" програмування і вивчав, що я повинен програмувати інтерфейс, а не реалізацію. Зважаючи на це, чи було б краще "замалювати" проект в інтерфейсах, перш ніж писати реалізацію для нього, де це можливо? І якщо це так, у випадку використання сторонніх бібліотек (тобто Lidgren), чи потрібно …

2
Дизайнерське рішення - навіщо генерувати <p> без </p>?
тл; д-р Деякі широко використовувані програми, що генерують html, створюватимуть лише теги абзацу, що відкриваються, а не закривають, якщо браузер належним чином закриє абзаци. З огляду на це, мені здається, що припущення про те, що браузери належним чином закриють абзаци, не є правильним. Чи правильно моє тлумачення? Загалом, які компроміси …

10
Чому RDBMS не повертають об'єднані таблиці у вкладеному форматі?
Наприклад, скажіть, що я хочу отримати Користувача та всі його телефонні номери та адреси електронної пошти. Номери телефонів та електронні листи зберігаються в окремих таблицях, один користувач на багатьох телефонах / електронних листах. Я можу це зробити досить легко: SELECT * FROM users user LEFT JOIN emails email ON email.user_id=user.id …
14 design  sql  rdbms 

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

3
Загальний дизайн аналізатора файлів на Java за допомогою шаблону стратегії
Я працюю над продуктом, у якому відповідальність одного з модулів полягає в розборі XML-файлів та скиданні необхідного вмісту в базу даних. Незважаючи на те, що ця вимога полягає лише в аналізі XML-файлів, я хочу створити свій модуль розбору таким чином, щоб я могла підтримувати будь-які файли в майбутньому. Причиною такого …
14 java  design  parsing  xml 

1
Чи правильно ми використовуємо шаблон сховища?
Ми використовуємо купу окремих класів з суфіксом, -repositoryщоб отримати дані з бази даних; для кожної таблиці своє сховище. Наприклад, у нас є customerrepositoryклас, який має всі види методів пошуку клієнтів, і vacancyrepositoryякий має всілякі методи пошуку вакансій. У мене є два питання щодо такого способу поведінки: Як щодо отримання даних, …

8
Питання, пов'язані з проектом OO в технічних інтерв'ю [закрито]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 4 роки тому . Нещодавно я відвідував досить багато інтерв’ю, і компанії мене просили відповісти на питання "спроектувати …

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

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