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

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

5
Чи повинен клас знати про його підкласи?
Чи повинен клас знати про його підкласи? Чи повинен клас робити щось, що є специфічним для даного підкласу, наприклад? Мої інстинкти говорять мені, що це погана конструкція, здається, якась антидіаграма.

5
Багато малих класів проти логічного (але) складного успадкування
Мені цікаво, що краще в плані хорошого дизайну OOP, чистого коду, гнучкості та уникнення запахів коду в майбутньому. Образна ситуація, коли у вас є дуже багато подібних об'єктів, які вам потрібно представити як класи. Ці класи не мають жодної конкретної функціональності, просто класи даних і відрізняються лише назвою (і контекстом) …

7
Візерунок для класу, який робить лише одне
Скажімо, у мене є процедура, яка виконує завдання : void doStuff(initalParams) { ... } Тепер я виявляю, що "робити речі" - це досить складна операція. Процедура стає великою, я розділяю її на кілька менших процедур, і незабаром я усвідомлюю, що мати якийсь стан було б корисно під час роботи, так …

5
Найкращий спосіб завантажити налаштування програми
Простий спосіб збереження налаштувань програми Java представлений текстовим файлом з розширенням ".properties", що містить ідентифікатор кожного параметра, пов'язаного з певним значенням (це значення може бути числом, рядком, датою тощо). . C # використовує аналогічний підхід, але текстовий файл повинен бути названий "App.config". В обох випадках у вихідному коді потрібно ініціалізувати …

2
Чому будівельник повинен бути внутрішнім класом замість власного файлу класів?
Багато Builder Patternприкладів робить цеBuilder робиться внутрішній клас об'єкта, який він будує. Це має певний сенс, оскільки вказує на те, що Builderбудується. Однак зі статистично набраною мовою ми знаємо, що такеBuilder будується. З іншого боку, якщо Builderце внутрішній клас, ви повинні знати, який клас Builderбудує, не заглядаючи всередину Builder. Крім …

6
Я порушую практику ООП з цією архітектурою?
У мене є веб-додаток. Я не вважаю, що технологія важлива. Структура - це N-ярусна програма, показана на зображенні зліва. Є 3 шари. Користувальницький інтерфейс (MVC-шаблон), бізнес-логічний шар (BLL) та шар доступу до даних (DAL) Проблема, яку я маю, - це мій BLL - масивна, оскільки вона має логіку та шляхи …

6
Чи добре для класу використовувати власний публічний метод?
Фон Наразі у мене ситуація, коли у мене є об'єкт, який передається і приймається пристроєм. Це повідомлення має кілька конструкцій: public void ReverseData() public void ScheduleTransmission() ScheduleTransmissionМетод необхідно викликати ReverseDataметод щоразу , коли він викликається. Однак бувають випадки, коли мені потрібно буде зателефонувати ReverseDataзовнішньо (і мені слід додати повністю поза …

2
Найкращі практики серіалізації агрегатів DDD
Відповідно до логіки домену DDD не слід забруднюватись такими технічними проблемами, як серіалізація, об'єктно-реляційне відображення тощо. Тож як ви серіалізуєте або картографуєте стан агрегатів, не публікуючи їх через геттери та сетери? Я бачив чимало прикладів, наприклад, реалізацій репозиторію, але практично всі вони покладалися на публічні аксесуари для об'єктів та цінні …

4
Чому б багато динамічних мов програмування типу качок використовували підхід на основі класу замість протоколу OOP на основі прототипу?
Оскільки досить багато динамічних мов програмування мають особливості введення качок , і вони також можуть відкривати та змінювати методи класу чи екземпляра в будь-який час (наприклад, Ruby та Python ), то… Запитання 1) Яка потреба в класі динамічної мови? Чому мова створена таким чином, щоб використовувати клас як якийсь "шаблон", …

12
Об'єктно-орієнтований дизайн
Припустимо, у вас є наступне: +--------+ +------+ | Animal | | Food | +-+------+ +----+-+ ^ ^ | | | | +------+ +-------+ | Deer | | Grass | +------+ +-------+ Deerуспадковує від Animal, а Grassуспадковує від Food. Все йде нормально. Animalпредмети можуть їсти Foodпредмети. Тепер давайте трохи змішати його. …

6
Чи є діаграми класів UML адекватними для проектування систем JavaScript?
З огляду на те, що UML орієнтований на більш класичний підхід до орієнтації на об'єкти, чи все-таки корисний для надійного проектування систем JavaScript? Одна з конкретних проблем, яку я бачу, полягає в тому, що діаграми класів насправді є структурним видом системи, а JavaScript керується більшою поведінкою, як ви можете з …

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

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

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

6
безперервна інтеграція наукового програмного забезпечення
Я не інженер програмного забезпечення. Я аспірант в галузі геознавства. Майже два роки тому я почав програмувати наукове програмне забезпечення. Я ніколи не використовував постійну інтеграцію (CI), головним чином тому, що спочатку я не знав, що вона існує, і я була єдиною людиною, яка працює над цим програмним забезпеченням. Тепер, …

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