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

Методологія, яка дозволяє моделювати систему як сукупність об'єктів, якими можна модульно керувати та керувати ними

6
Служби ін'єкцій DDD за дзвінками методів особи
Короткий формат запитання Чи в межах найкращих практик DDD та OOP вводити послуги на дзвінки методу особи? Приклад довгого формату Скажімо, у нас є класичний випадок Order-LineItems в DDD, де у нас є доменна сутність під назвою "Порядок", яка також виступає як корінговий корінь, і ця сутність складається не лише …

1
Використання порядку вирішення методу Python для введення залежності - це погано?
Я спостерігав, як Реймонд Хеттінгер говорив про "Супер вважається Супер" і дізнався трохи про MRO Python (Order Resolution Order), який детерміновано лінеаризує "батьківські" класи. Ми можемо використовувати це для наших переваг, як у наведеному нижче коді, щоб зробити ін'єкцію залежності. Тому зараз, природно, я хочу використовувати superдля всього! У наведеному …

2
Пізнє зв’язування, орієнтоване на об'єкти
У визначенні Alan Kays Орієнтоване на об'єкт є таке визначення, яке частково я не розумію: OOP для мене означає лише обмін повідомленнями, локальне збереження та захист та приховування державно-процесу та екстремальне пізнє зв’язування всіх речей. Але що означає "пізній зв'язок"? Як я можу застосувати це на такій мові, як C …

6
Які практичні способи реалізації СРП?
Просто якими практичними прийомами користуються люди, щоб перевірити, чи порушує клас єдиний принцип відповідальності? Я знаю, що у класу повинна бути лише одна причина для зміни, але в цьому реченні дещо не вистачає практичного способу реально реалізувати це. Єдиний спосіб, який я знайшов, - це використовувати речення "The ......... повинен …

1
OOP ECS проти чистого ECS
По-перше, мені відомо, що це питання пов’язане з темою розвитку ігор, але я вирішив його задати тут, оскільки він дійсно зводиться до більш загальної проблеми програмного забезпечення. Протягом минулого місяця я багато читав про Entity-Component-Systems, і зараз цілком задоволений цією концепцією. Однак є один аспект, який, здається, не вистачає чіткого …

3
Чи є хорошою практикою вбудувати пов'язаний набір властивостей у власну структуру / клас?
Написання об’єкта User у Swift, хоча моє запитання стосується будь-якої сильно набраної мови. Користувач може мати купу посилань (FacebookProfile, InstagramProfile тощо). Кілька питань навколо цього. Чи корисна практика загортати посилання у власному об’єкті? User { var firstName: рядок var lastName: рядок var email: рядок var посилання: Посилання } Структурні посилання …

6
Як уникнути нескінченного повторення через однаково неоптимальні конструкції?
Тому, напевно, як у багатьох, я часто стикаюся з головними болями з дизайнерськими проблемами, в яких, наприклад, існує певна модель / підхід дизайну, який, здається, інтуїтивно відповідає проблемі і має бажані переваги. Дуже часто є якийсь застереження, який ускладнює реалізацію схеми / підходу без якоїсь роботи, навколо якої потім заперечується …

6
Чи відокремлення більшості класів у полі даних лише класів і класів лише методів (якщо можливо) є добрим чи антидіаграмою?
Наприклад, у класі зазвичай є члени та методи класу, наприклад: public class Cat{ private String name; private int weight; private Image image; public void printInfo(){ System.out.println("Name:"+this.name+",weight:"+this.weight); } public void draw(){ //some draw code which uses this.image } } Але прочитавши про принцип єдиної відповідальності та відкритий закритий принцип, я віддаю …

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

6
Який простий процес проектування системи OOP перед її кодуванням?
Кожного разу, коли від мене вимагали будувати проект, я завжди встигав його скласти, не заздалегідь розробивши план чи дизайн, а після того, як спочатку написав потрібний клас, склавши весь проект, будуючи знизу вгору. Тепер я знаю, що це не правильний спосіб створення програмного забезпечення, але мені непросто обернути голову навколо …

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

2
Чи погано створювати класи, єдиною метою яких є неявне перетворення в інший клас?
Уявіть ситуацію, коли ми використовуємо бібліотеку, яка дозволяє створювати Circleоб’єкти, де ви можете вказати радіус та центр кола, щоб визначити його. Однак чомусь він також приймає необхідний flavourпараметр. Тепер скажімо, що мені дійсно потрібно використовувати Circleв своєму власному додатку, але для цілей своєї програми я можу встановлювати аромат Flavours.Cardboardкожного разу. …

3
Використання інтерфейсів для слабо пов'язаного коду
Фон У мене є проект, який залежить від використання певного типу апаратного пристрою, хоча це неважливо, хто робить цей апаратний пристрій до тих пір, поки він робить те, що мені потрібно для цього. Зважаючи на це, навіть два пристрої, які повинні робити те саме, матимуть відмінності, коли вони не будуть …

3
Як керувати єдиною відповідальністю, коли відповідальність поділяється?
У мене базові два класи, Operationі Trigger. У кожному є ряд підкласів, які спеціалізуються на певних типах операцій або тригерів. A Triggerможе викликати конкретний Operation. У той час як Operationможе бути ініційований певним Trigger. Мені потрібно написати код, який відображає задану Operationданість Trigger(або навпаки), але я не знаю, куди її …

2
Чи є спадщина Пітона "спадковим" стилем успадкування чи композиційним стилем?
З огляду на те, що Python дозволяє отримати багаторазове успадкування, як виглядає ідіоматичне успадкування в Python? У мовах з одинарним успадкуванням, як-от Java, успадкування буде використовуватися, коли можна сказати, що один об'єкт "є-а" іншого об'єкта, і ви хочете поділити код між об'єктами (від батьківського об'єкта до дочірнього об'єкта). Наприклад, ви …

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