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

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

2
Чи повинні серіалізація та десеріалізація бути відповідальністю класу, який підлягає серіалізації?
Наразі я перебуваю на етапі (пере) проектування декількох класів моделей програми C # .NET. (Модель як у M MVC). Модельні класи вже мають безліч добре розроблених даних, поведінки та взаємозв'язків. Я переписую модель з Python на C #. У старій моделі Python я думаю, що бачу бородавку. Кожна модель знає, …

5
Чи є смисловий контракт інтерфейсу (OOP) більш інформативним, ніж підпис функції (FP)?
Деякі кажуть, що якщо ви доведете принципи SOLID до їхніх крайнощів, ви закінчите функціональне програмування . Я погоджуюся з цією статтею, але думаю, що деяка семантика втрачається при переході від інтерфейсу / об’єкта до функції / закриття, і я хочу знати, як функціональне програмування може зменшити втрати. Зі статті: Крім …

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

8
Психічні моделі або метафори реального світу для функціонального програмування
Хтось має хорошу ментальну модель або метафору для функціонального програмування, яка посилається на щось у реальному світі? Об'єктно-орієнтоване програмування інтуїтивно має для мене сенс. Є речі, які мають властивості, і іноді вони також можуть робити речі або робити розрахунки за своїми властивостями (методами). (Наприклад: Автомобіль, Форма, Кіт). Я веду функціональне …

3
Плутати у визначенні поняття "абстракція" в ООП
Я намагаюся зрозуміти визначення поняття "абстракція" в ООП. Я натрапив на кілька основних визначень. Чи всі вони дійсні? Чи один з них не так? Я збентежений. (Я переписав визначення власними словами). Визначення 1: Абстракція - це концепція взяття якогось об'єкта з реального світу та перетворення його в терміни програмування. Такі …

9
Використовувати конструктор чи метод сеттера?
Я працюю над кодом інтерфейсу, де я маю Actionклас, щось подібне - public class MyAction extends Action { public MyAction() { setText("My Action Text"); setToolTip("My Action Tool tip"); setImage("Some Image"); } } Коли цей клас Action був створений, ми вважали, що Actionклас не може бути налаштований (у певному сенсі - …

6
Чи можна сказати, що об’єкти мають атрибути, стани і поведінку?
Я читав вступ Oracle до концепцій OOP, і натрапив на цей опис: Об'єкти реального світу мають дві характеристики: всі вони мають стан та поведінку. Собаки мають стан (ім’я, колір, породу, голодний) та поведінку (гавкіт, плодоношення, виття хвоста). Програмні об'єкти концептуально схожі на об'єкти реального світу: вони теж складаються із стану …

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

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

6
Перетворити з процедурного в об'єктно-орієнтований код
Я читав ефективні роботи з Legacy Code та Clean Code з метою вивчення стратегій щодо того, як почати очищення існуючої бази коду великого додатку для веб-форм ASP.NET. Ця система існує з 2005 року і з того часу зазнала низки вдосконалень. Спочатку код був структурований наступним чином (і все ще значною …

4
Залишаючись OO та Testable під час роботи з базою даних
Які існують стратегії OOP для роботи з базою даних, але для того, щоб зберігати речі перевіряти? Скажімо, у мене є клас користувача, і моє виробниче середовище працює проти MySQL. Я бачу пару можливих підходів, показаних тут за допомогою PHP: Передайте джерело $ data_source з інтерфейсами для load() та save(), щоб …

2
DDD: чи правильно кореневий агрегат містити посилання на інший кореневий агрегат?
Під час дотримання дизайну, керованого доменом (DDD), чи правильно кореневий агрегат містити посилання на внутрішню сутність, яка має бути кореневою сутністю на окремому агрегаті? Я вважаю, що це не правильно, головним чином через це правило про синю книгу : Ніщо, що знаходиться поза межами АГРЕГАТИ, не може посилатися на що-небудь …

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

4
API та функціональне програмування
З мого (правда, обмеженого) впливу функціональних мов програмування, таких як Clojure, здається, що інкапсуляція даних відіграє менш важливу роль. Зазвичай різні типові типи, такі як карти або набори, є бажаною валютою представлення даних над об'єктами. Крім того, ці дані, як правило, незмінні. Наприклад, ось одна з найвідоміших цитат «Rich Hickey …

4
Управління параметрами в додатку OOP
Я пишу заяву OOP середнього розміру в C ++ як спосіб практикувати принципи OOP. У моєму проекті є кілька класів, і деякі з них потребують доступу до параметрів конфігурації під час виконання. Ці параметри зчитуються з декількох джерел під час запуску програми. Деякі читаються з конфігураційного файлу в домашньому режимі …

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