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

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

14
Ім'я цього антипатрійця? Поля як локальні змінні [закрито]
У деякому коді, який я рецензую, я бачу речі, які є моральним еквівалентом наступного: public class Foo { private Bar bar; public MethodA() { bar = new Bar(); bar.A(); bar = null; } public MethodB() { bar = new Bar(); bar.B(); bar = null; } } Поле barтут логічно є …

10
Що таке правильне використання каналу?
Даудаустинг означає передачу з базового класу (або інтерфейсу) на підклас або клас класу. Прикладом пониження може бути, якщо ви переходите System.Objectна інший тип. Downcasting непопулярний, можливо, кодовий запах. Об'єктно-орієнтована доктрина - це віддати перевагу, наприклад, визначенню та виклику віртуальних чи абстрактних методів замість того, щоб придушувати. Які, якщо такі є, …

10
Чи не можу я просто використовувати всі статичні методи?
Яка різниця між двома методами UpdateSubject нижче? Я вважав, що статичні методи краще, якщо ви просто хочете оперувати сутностями. У яких ситуаціях слід звертатися з нестатичними методами? public class Subject { public int Id {get; set;} public string Name { get; set; } public static bool UpdateSubject(Subject subject) { //Do …

11
Уточнити єдиний принцип відповідальності
Принцип єдиної відповідальності говорить, що клас повинен робити одне і лише одне. Деякі випадки досить чіткі. Інші, однак, важкі, оскільки те, що виглядає як "одне", якщо дивитися на заданий рівень абстракції, може бути декількома речами, якщо дивитися на нижчий рівень. Я також побоююся, що якщо Принцип єдиної відповідальності буде дотримано …

11
Чи порушує цей дизайн класу принцип єдиної відповідальності?
Сьогодні я мав сварку з кимось. Я пояснював переваги створення багатої доменної моделі на відміну від анемічної доменної моделі. І я продемонстрував свою думку простим класом, який виглядає так: public class Employee { public Employee(string firstName, string lastName) { FirstName = firstName; LastName = lastname; } public string FirstName { …

11
Чому добре розділити програму на кілька класів? [зачинено]
Я ще учень середньої школи (вступає в 10 клас), і мені ще належить пройти фактичний комп’ютерний курс у школі. Все, що я робив до цього часу, - це через книги. Ці книги навчили мене таким поняттям, як спадкування, але як допомагає розщеплення програми на кілька класів? Книги мені ніколи не …

14
Чи не MVC anti OOP?
Основна ідея OOP полягає в об'єднанні даних і поведінки в єдине ціле - об'єкт. У процедурному програмуванні є дані та окремо алгоритми, що модифікують дані. У шаблоні Model-View-Controller дані та логіка / алгоритми розміщуються у різних об'єктах відповідно моделі та контролері. Чи в еквівалентному підході OOP не повинні модель та …

8
Чи ORM є антидіаграмою? [зачинено]
Я мав дуже стимулюючу та цікаву дискусію з колегою про ORM та її плюси та мінуси. На мою думку, ОРМ корисний лише у найрідкісніших випадках. Принаймні в моєму досвіді. Але я не хочу перераховувати власні аргументи наразі. Тож я запитую вас, що ви думаєте про ORM? Які плюси і мінуси?

8
Як я можу довести чи спростувати "Божі об'єкти" неправильно?
Зміст проблеми: Коротше кажучи, я успадкував кодову базу та команду розробників, яку мені не дозволяють замінювати, і використання об'єктів God є великою проблемою. Йдучи вперед, я хочу, щоб ми переосмислили речі, але я отримую відштовхування від команд, які хочуть зробити все з об'єктами Бога, "бо це простіше", а це означає, …

19
Чи виконує OOP обіцянку повторного використання коду? Які альтернативи є для повторного використання коду?
Мабуть, найбільшою обіцянкою використання об'єктно-орієнтованої парадигми є повторне використання коду. Певна суперечка, що цього вдалося досягти. Чому це було досягнуто (не)? Чи повторне використання коду, як це визначає OOP, робить проекти більш продуктивними? Або більш керований? Або простіше в обслуговуванні? Або з більшою якістю? Напевно, всі ми згодні, що повторне …

17
Чи OO-програмування дійсно так важливо, як наймають компанії? [зачинено]
Я тільки закінчу магістратуру (з обчислювальної техніки) і подаю заявку на роботу. Я помітив, що багато компаній спеціально просять зрозуміти орієнтацію на об'єкти. Популярні питання інтерв'ю стосуються спадщини, поліморфізму, приналежності тощо. Чи справді ОО є таким вирішальним? У мене навіть було співбесіду для роботи з програмування в C, а половина …

1
Наскільки міксини або риси краще, ніж звичайне багаторазове успадкування?
У C ++ є багаторазове успадкування, багато мовних конструкцій забороняють це як небезпечне. Але деякі мови, такі як Ruby і PHP, використовують дивний синтаксис, щоб зробити те ж саме, і називають його mixins або traits. Я багато разів чув, що міксини / риси складніше зловживати, ніж звичайне багаторазове успадкування. Що …

9
Чи повинні методи класу називати власні геттери та сетери?
Де я працюю, я бачу багато класів, які роблять такі речі: public class ClassThatCallsItsOwnGettersAndSetters { private String field; public String getField() { return field; } public void setField(String field) { this.field = field; } public void methodWithLogic() { setField("value"); //do stuff String localField = getField(); //do stuff with "localField" } …

20
Чи об'єктно-орієнтоване програмування реально моделює реальний світ? [зачинено]
Я бачив, як часто повторюється об'єктно-орієнтоване програмування, засноване на моделюванні реального світу, але чи не так? Мені здається, це не стосується нічого, що є поза бізнес-шаром. Мої класи GUI / класи доступу до даних не моделюють нічого в реальному світі. Навіть у моєму бізнес-шарі у мене є заняття, такі як …

5
Контейнери МОК порушують принципи ООП
Яке призначення контейнерів МОК? Сукупні причини цього можуть бути спрощені до наступних: При використанні принципів розвитку OOP / SOLID розробка вприскування стає безладним. Або у вас є точки входу верхнього рівня, що управляють залежностями для декількох рівнів нижче самих себе і передають залежності рекурсивно через побудову, або у вас є …

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