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

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

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

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

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

5
Читання функціонального програмування [закрито]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередило увагу на одній проблемі, лише відредагувавши цю публікацію . Закрито 2 роки тому . Мені це цікаво, тому що я пам'ятаю, перш ніж вивчати будь-які функціональні мови, я …

5
Переваги класичного OOP над Go-подібною мовою
Я багато думав про дизайн мови та про те, які елементи будуть потрібні для "ідеальної" мови програмування, а вивчення Google Go Go спонукало мене до сумнівів у багатьох інакше загальних знаннях. Зокрема, Go, здається, має всі цікаві переваги від об'єктно-орієнтованого програмування, не маючи насправді жодної структури об'єктно-орієнтованої мови. Не існує …

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

7
Які ролі синглів, абстрактних класів та інтерфейсів?
Я вивчаю OOP в C ++ і, хоча знаю визначення цих 3 понять, я не можу реально усвідомити, коли або як ним користуватися. Давайте використаємо цей клас для прикладу: class Person{ private: string name; int age; public: Person(string p1, int p2){this->name=p1; this->age=p2;} ~Person(){} void set_name (string parameter){this->name=parameter;} void set_age (int …

2
Чи правильний мій опис акторської моделі?
Як я зрозумів, акторська модель подібна до об'єктної моделі, але з кількома відмінностями: КОЖЕН об’єкт породжує власну окрему нитку, і це не проблема, навіть якщо у вас є тисячі об'єктів. Актори не взаємодіють за допомогою виклику функцій та отримання зворотних значень, а натомість, надсилаючи та отримуючи повідомлення. Якщо ви не …

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

5
Чи може об'єктно-орієнтована програма розглядатися як Кінцева державна машина?
Це може бути філософське / фундаментальне питання, але я просто хочу його уточнити. На мій погляд, Машина кінцевих станів - це спосіб моделювання системи, при якому вихід системи буде залежати не тільки від поточних входів, але і від поточного стану системи. Крім того, як випливає з назви, машина з кінцевим …

7
Обіймати голову навколо непорушності
Я новачок в об’єктно-орієнтованому програмуванні, і одна концепція, яка займає мене час, - це незмінність. Я думаю, що лампочка згасла минулої ночі, але я хочу перевірити: Коли я стикаюся з твердженнями, що незмінний об'єкт неможливо змінити, я здивований, бо можу, наприклад, зробити наступне: NSString *myName = @"Bob"; myName = @"Mike"; …

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

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

4
Ортогональний FP і OO?
Я чув це раз і знову, і я намагаюся зрозуміти і підтвердити думку про те, що ПС і ОО є ортогональними. Перш за все, що означає ортогональність двох понять? ПП максимально заохочує незмінність та чистоту. і ОО здається чимось, що побудовано для стану та мутації (злегка організована версія імперативного програмування?). …

6
Чи можна вирішити задачу кола-еліпса шляхом обернення відношення?
Маючи CircleсягатиEllipse перерв в Ліски Substition принципі , тому що вона змінює постусловіем , а саме: ви можете встановити X і Y незалежно один від одного , щоб намалювати еліпс, але X завжди має дорівнювати Y для кіл. Але хіба тут проблема не спричинена тим, що Circle є підтипом Еліпса? …

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