Вопросы с тегом «object-oriented»

Методология, которая позволяет моделировать систему как набор объектов, которыми можно управлять и манипулировать модульным способом

5
Должен ли класс знать о своих подклассах?
Должен ли класс знать о своих подклассах? Должен ли класс делать что-то специфичное для данного подкласса, например? Мои инстинкты говорят мне, что это плохой дизайн, это похоже на какой-то анти-паттерн.

5
Много маленьких классов против логического (но) сложного наследования
Мне интересно, что лучше с точки зрения хорошего ООП-дизайна, чистого кода, гибкости и предотвращения запаха кода в будущем. Ситуация с изображением, когда у вас есть много очень похожих объектов, которые вы должны представлять как классы. Эти классы не имеют никакой конкретной функциональности, только классы данных и отличаются только по имени …

7
Шаблон для класса, который делает только одно
Допустим, у меня есть процедура, которая делает вещи : void doStuff(initalParams) { ... } Теперь я обнаружил, что «делать вещи» - довольно сложная операция. Процедура становится большой, я делю ее на несколько более мелких процедур, и вскоре я понимаю, что наличие некоторого состояния было бы полезно при выполнении каких-либо задач, …

5
Лучший способ загрузить настройки приложения
Простой способ сохранить настройки приложения Java представлен текстовым файлом с расширением «.properties», содержащим идентификатор каждого параметра, связанного с конкретным значением (это может быть число, строка, дата и т. Д.) , C # использует аналогичный подход, но текстовый файл должен называться «App.config». В обоих случаях в исходном коде вы должны инициализировать …

2
Почему конструктор должен быть внутренним классом, а не в своем собственном файле классов?
Многие Builder Patternпримеры делают Builderвнутренний класс объекта, который он создает. Это имеет некоторый смысл, поскольку указывает на то, что Builderстроит. Однако в статически типизированном языке мы знаем, что Builderстроит. С другой стороны, если Builderэто внутренний класс, вы должны знать, какой класс Builderстроит, не заглядывая внутрь Builder. Кроме того, наличие конструктора …

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

6
Можно ли классу использовать собственный публичный метод?
Задний план В настоящее время у меня есть ситуация, когда у меня есть объект, который передается и принимается устройством. Это сообщение имеет несколько конструкций, а именно: public void ReverseData() public void ScheduleTransmission() ScheduleTransmissionМетод необходимо вызвать ReverseDataметод всякий раз , когда он вызывается. Тем не менее, бывают случаи, когда мне нужно …

4
Почему многие языки динамического программирования с утиными типами используют подход на основе классов вместо ООП на основе прототипов?
Поскольку довольно много динамических языков программирования имеют функцию утилитной типизации , и они также могут открывать и изменять методы класса или экземпляра в любое время (например, Ruby и Python ), тогда… Вопрос 1) Зачем нужен класс на динамическом языке? Почему язык спроектирован таким образом, чтобы использовать класс как своего рода …

2
Лучшие практики для сериализации DDD агрегатов
Согласно DDD логика домена не должна быть загрязнена техническими проблемами, такими как сериализация, объектно-реляционное отображение и т. Д. Так как же сериализовать или отобразить состояние агрегатов, не раскрывая его публично через геттеры и сеттеры? Я видел множество примеров, например, для реализации репозитория, но практически все они полагались на общедоступные методы …

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.