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

17
Когда использовать интерфейсы (модульное тестирование, IoC?)

Я подозреваю, что допустил ошибку школьника и ищу уточнения. Многие классы в моем решении (C #) - осмелюсь сказать, что большинство - я закончил тем, что написал соответствующий интерфейс для. Например, интерфейс «ICalculator» и класс «Calculator», который его реализует, хотя я вряд ли заменю этот...

16
Оставаться OO и Testable при работе с базой данных

Каковы некоторые ООП-стратегии для работы с базой данных, но для обеспечения единичного тестирования? Скажем, у меня есть класс User, и моя производственная среда работает против MySQL. Я вижу пару возможных подходов, показанных здесь с использованием PHP: Передайте $ data_source с интерфейсами для...

16
Преобразование из процедурного в объектно-ориентированный код

Я читал « Эффективная работа с устаревшим кодом» и « Чистый код» с целью изучения стратегий, как начать очистку существующей кодовой базы большого приложения веб-форм ASP.NET. Эта система существует с 2005 года и с тех пор претерпела ряд усовершенствований. Первоначально код был структурирован...

16
Ментальные модели или метафоры реального мира для функционального программирования

У кого-нибудь есть хорошая ментальная модель или метафора для функционального программирования, которая ссылается на что-то в реальном мире? Объектно-ориентированное программирование интуитивно понятно для меня. Есть вещи, которые имеют свойства, и иногда они также могут делать вещи или выполнять...

16
Почему наследование, инкапсуляция и полиморфизм не являются столпами ООП? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Однажды я зашел в чат Stack Overflow и увидел фразу, в которой говорилось, что...

16
Как я узнаю, что мои данные носят реляционный или объектно-ориентированный характер?

Просто прочитайте эти строки Если ваши данные носят объектный характер, используйте хранилища объектов («NoSQL»). Они будут намного быстрее, чем реляционная база данных. Если ваши данные носят реляционный характер, затраты на реляционную базу данных того стоят. из-...

16
Является ли семантический контракт интерфейса (ООП) более информативным, чем сигнатура функции (ФП)?

Некоторые говорят, что если вы доведете принципы SOLID до крайности, вы в конечном итоге окажетесь в функциональном программировании . Я согласен с этой статьей, но думаю, что при переходе от интерфейса / объекта к функции / закрытию теряется некоторая семантика, и я хочу знать, как функциональное...

16
Должна ли сериализация и десериализация быть обязанностью сериализуемого класса?

В настоящее время я нахожусь на стадии (пере) проектирования нескольких классов моделей приложения на C # .NET. (Модель как в М MVC). Классы моделей уже имеют множество хорошо спроектированных данных, поведений и взаимосвязей. Я переписываю модель с Python на C #. В старой модели Python, я думаю, я...

16
Почему в Java нет модификатора доступа «только для подклассов»?

В Java есть четыре доступных модификатора доступа для методов: public - любой класс может использовать этот метод. protected - классы в одном пакете и подклассы в любом пакете могут использовать этот метод. private - только этот класс может использовать этот метод. no modifier («пакет приватный») -...

16
Запутался в определении «абстракции» в ООП

Я пытаюсь понять определение «абстракции» в ООП. Я столкнулся с несколькими основными определениями. Они все действительны? Один из них не прав? Я не совсем понимаю. (Я переписал определение своими словами). Определение 1: Абстракция - это концепция взятия какого-либо объекта из реального мира и...

16
Как я могу объяснить полезность Наследования? [закрыто]

В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и,...

16
Как вы отслеживаете крупные проекты?

Когда я имею дело с проектом, в котором много разных файлов, мне всегда кажется, что части не взаимодействуют друг с другом. У меня никогда не было особых проблем с пониманием более мелких компонентов изолированно, но, поскольку сложность проекта возрастает, я не могу мысленно построить понимание...

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

Я читал введение Oracle в концепции ООП и наткнулся на это описание: Реальные объекты имеют две общие характеристики: все они имеют состояние и поведение. Собаки имеют состояние (имя, окрас, порода, голодные) и поведение (лай, извлечение, вилять хвостом). Программные объекты концептуально похожи на...

16
MVC: Контролер нарушает принцип единой ответственности?

Принцип Единой Ответственности гласит, что «класс должен иметь одну причину изменения». В паттерне MVC работа Контроллера заключается в том, чтобы быть посредником между представлением и моделью. Он предлагает интерфейс для представления отчетов о действиях, выполненных пользователем в графическом...

16
Использовать конструктор или метод установки?

Я работаю над кодом пользовательского интерфейса, где у меня есть Actionкласс, что-то вроде этого - public class MyAction extends Action { public MyAction() { setText("My Action Text"); setToolTip("My Action Tool tip"); setImage("Some Image"); } } Когда этот класс Action был создан, предполагалось,...

16
Когда перемещать общее поле в базовый класс?

В настоящее время у меня есть два производных класса, Aи Bоба имеют общее поле, и я пытаюсь определить, должно ли оно перейти в базовый класс. На него никогда не ссылаются из базового класса, и говорят, что если в какой-то момент в будущем будет получен другой класс, Cкоторый не имеет _field1, то...

16
DDD: правильно ли для корневого агрегата хранить ссылку на другой корневой агрегат?

При следовании модели, управляемой доменом (DDD), правильно ли для корневого агрегата хранить ссылку на внутренний объект, который оказывается корневым объектом в отдельном агрегате? Я считаю, что это не правильно, в основном из-за этого правила в синей книге : Ничто за пределами границы AGGREGATE...

15
Чистый виртуальный или абстрактный, что в имени?

Обсуждая вопрос о виртуальных функциях в Stack Overflow, я удивлялся, существует ли какое-либо официальное наименование для чистых (абстрактных) и не чистых виртуальных функций. Я всегда полагался на Википедию для получения информации, которая гласит, что чистые и не чистые виртуальные функции...

15
Чистый код: последствия коротких методов с несколькими параметрами

Недавно во время обзора кода я наткнулся на код, написанный новым коллегой, который содержит шаблон с запахом. Я подозреваю, что решения моего коллеги основаны на правилах, предложенных известной Книгой Чистого Кодекса (и, возможно, другими подобными книгами). Насколько я понимаю, конструктор...

15
Что лучше: группа получателей или 1 метод с параметром строки выбора?

Наша область знаний включает людей, которые ходят по пластине для записи давления босыми ногами. Мы выполняем распознавание изображений, в результате чего получаются объекты класса «Foot», если в данных датчика распознается нога человека. Есть несколько расчетов, которые должны быть выполнены на...