Вопросы с тегом «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
Что такое правильное использование downcasting?
Понижение означает преобразование из базового класса (или интерфейса) в подкласс или листовой класс. Примером снижения может быть, если вы приведете System.Objectк другому типу. Даункастинг непопулярен, может быть, пахнет кодом: доктрина объектно-ориентированного подхода предпочитает, например, определять и вызывать виртуальные или абстрактные методы, а не унижать. Какие, если таковые имеются, хорошие и …

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

11
Уточнить принцип единой ответственности
Принцип единой ответственности гласит, что класс должен делать одно и только одно. Некоторые случаи довольно ясны. Другие, однако, сложны, потому что то, что выглядит как «одна вещь» при просмотре на данном уровне абстракции, может быть множественным при просмотре на более низком уровне. Я также опасаюсь, что если принцип «Единой ответственности» …

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

11
Почему хорошо разбить программу на несколько классов? [закрыто]
Я все еще учусь в средней школе (поступаю в 10-й класс), и мне еще предстоит пройти настоящий курс компьютерного обучения в школе. Все, что я до сих пор делал, это через книги. Эти книги научили меня таким понятиям, как наследование, но как помогает разделение программы на несколько классов? Книги никогда …

14
Разве MVC не против ООП?
Основная идея ООП заключается в объединении данных и поведения в единую сущность - объект. В процедурном программировании есть данные и отдельно алгоритмы, модифицирующие данные. В шаблоне Model-View-Controller данные и логика / алгоритмы размещаются в разных объектах, модели и контроллере соответственно. При эквивалентном подходе ООП модель и контроллер не должны находиться …

8
ORM - это анти-паттерн? [закрыто]
У меня была очень стимулирующая и интересная дискуссия с коллегой об ORM и его плюсах и минусах. На мой взгляд, ORM полезен только в самых редких случаях. По крайней мере, по моему опыту. Но я не хочу перечислять свои собственные аргументы в настоящее время. Поэтому я спрашиваю вас, что вы …

8
Как мне доказать или опровергнуть, что «объекты Бога» не правы?
Краткое описание проблемы: Короче говоря, я унаследовал кодовую базу и команду разработчиков, которую мне не разрешено заменять, и использование God Objects является большой проблемой. В дальнейшем я хочу, чтобы мы перефакторили вещи, но я получаю отпор от команд, которые хотят делать все с Богом-объектами «потому что это проще», и это …

19
ООП выполняет обещание повторного использования кода? Какие есть альтернативы для повторного использования кода?
Возможно, самое большое обещание использования объектно-ориентированной парадигмы - это повторное использование кода. Некоторые оспаривают, что это было достигнуто. Почему это было (не) достигнуто? Позволяет ли повторное использование кода, как его определяет ООП, сделать проекты более продуктивными? Или более управляемым? Или проще в обслуживании? Или с большим качеством? Вероятно, мы все …

17
Действительно ли ОО-программирование так же важно, как это делают компании по найму? [закрыто]
Я только заканчиваю свою степень магистра (в области вычислительной техники) и подаю заявку на работу. Я заметил, что многие компании специально просят понимания ориентации объекта. Популярные вопросы интервью касаются наследования, полиморфизма, принадлежности и т. Д. ОО действительно так важно? У меня даже было собеседование на работу по программированию в Си, …

1
Как миксины или признаки лучше, чем обычное множественное наследование?
C ++ имеет простое множественное наследование, многие языковые схемы запрещают его как опасное. Но некоторые языки, такие как Ruby и PHP, используют странный синтаксис, чтобы делать то же самое и называть это миксинами или чертами. Я много раз слышал, что миксином / признаками сложнее злоупотреблять, чем простым множественным наследованием. Что …

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 Dependency Injection становится беспорядочным. Либо у вас есть точки входа верхнего уровня, управляющие зависимостями для нескольких уровней ниже их самих и рекурсивно пропускающие зависимости через конструкцию, либо у вас есть несколько …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.