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

Об'єктно-орієнтоване проектування - це процес планування системи взаємодіючих об’єктів з метою вирішення програмної проблеми.

6
Чи збільшує функціональне програмування «представницький розрив» між проблемами та рішеннями? [зачинено]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередило увагу на одній проблемі, лише відредагувавши цю публікацію . Закрито 4 роки тому . Оскільки машинна мова (наприклад, 0110101000110101) комп'ютерні мови, як правило, переросла у вищі форми абстрагування, …

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

3
Чи порушує державний зразок Принцип заміни Ліскова?
Це зображення взято із застосування дизайну та шаблонів, керованих доменом: із прикладами в C # та .NET Це діаграма класів для шаблону стану, в якій SalesOrderможе мати різні стани протягом свого життя. Дозволені лише певні переходи між різними станами. Тепер OrderStateклас - це abstractклас, і всі його методи успадковуються підкласам. …

5
Є об'єктивним принципом єдиної відповідальності?
Розглянемо двох дизайнерів інтерфейсу, які хочуть створити «привабливі для користувача» конструкції. "Привабливість користувача" - це поняття, яке не є об'єктивним і є лише у свідомості дизайнерів. Таким чином, дизайнер A міг, наприклад, підібрати червоний колір, а дизайнер B - синій. Дизайнер A створить макет, який повністю відрізняється від дизайнера B …

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

4
Неможливо вирішити таємницю функцій у Javascript
Я намагаюся зрозуміти за завісовими сценами Javascript і свого роду застряг у розумінні створення вбудованих об'єктів, особливо Об'єкта і Функції та співвідношення між ними. Коли я прочитав, що всі вбудовані об'єкти, такі як Array, String тощо, є розширенням (успадкованим) від Object, я припустив, що Object є першим вбудованим об'єктом, який …

5
Як зробити тип даних для чогось, що представляє собою або дві інші речі
Фон Ось актуальна проблема, над якою я працюю: я хочу, щоб представити карти в картковій грі Magic: The Gathering . Більшість карт у грі - це картки звичайного вигляду, але деякі з них розділені на дві частини, кожна зі своєю назвою. Кожна половина цих двоскладових карт трактується як сама картка. …

1
Розуміння шаблону відвідувачів
У мене є ієрархія класів, яка представляє елементи управління графічним інтерфейсом. Щось на зразок цього: Control->ContainerControl->Form Мені доводиться реалізовувати низку алгоритмів, які працюють з об'єктами, які роблять різні речі, і я думаю, що шаблон відвідувачів був би найчистішим рішенням. Візьмемо для прикладу алгоритм, який створює представлення Xml ієрархії об'єктів. Використовуючи …

6
Вільна муфта в об'єктно-орієнтованому дизайні
Я намагаюся навчитися GRASP, і я виявив, що це пояснено ( тут, на сторінці 3 ) про низьке з'єднання, і я був дуже здивований, коли виявив це: Розглянемо метод addTrackдля Albumкласу, два можливі методи: addTrack( Track t ) і addTrack( int no, String title, double duration ) Який метод зменшує …

2
Незаконне в PHP: Чи є причина дизайну OOP?
Наведене нижче інтерфейс є спадкоємним для PHP, але я думаю, це було б досить корисно в реальному житті. Чи є справжня антипатрійна або документально підтверджена проблема із наведеним нижче дизайном, від якого PHP захищає мене? <?php /** * Marker interface */ interface IConfig {} /** * An api sdk tool …

6
Переваги стратегії
Чому вигідно використовувати шаблон стратегії, якщо ви можете просто написати свій код у випадках, якщо / тоді? Наприклад: у мене є клас TaxPayer, і один із його методів обчислює податки за допомогою різних алгоритмів. То чому б вона не могла мати, якщо / тоді випадки і зрозуміти, який алгоритм використовувати …

6
Які відмінності між абстрактними класами, інтерфейсами та коли ними користуватися
Нещодавно я почав обертати голову навколо ООП, і зараз я перебуваю до того, що чим більше я читаю про відмінності між абстрактними класами та інтерфейсами, тим я більше плутаюся. Поки що це неможливо уявити. Інтерфейси - це більш-менш структурні креслення, які визначають скелет, а реферати відрізняються тим, що можуть частково …

6
Чи можна розглядати методи інтерфейсу як абстрактні методи?
Я думав про це, і у мене були деякі сумніви. Наприклад, коли я оголошу інтерфейс, наприклад: public interface MyInterface { public void method1(); public void method2(); } Чи можна вважати ці методи інтерфейсу абстрактними? Я маю на увазі те, що поняття абстрактного методу: Абстрактний метод - це метод, який оголошується, …


2
Що насправді повинен робити сховище?
Я чув багато шаблонів сховищ, але я зовсім не розумів, що насправді має робити сховище. Коли я кажу "що насправді має робити сховище", я в основному переймаюся питаннями, які методи він повинен надати. Наприклад, чи повинен репозиторій дійсно надавати методи CRUD, чи він повинен надавати якийсь інший метод? Я маю …

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