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

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

1
Принцип Открытого Закрытия (OCP) против Принципа Инверсии Зависимостей (DIP)
Я пытался понять разницу между Open Closed Principle (OCP) и Dependency Inversion Princible (DIP). Основываясь на исследованиях, которые я провел в Интернете, я пришел к выводу, что «DIP - это один из вариантов, с помощью которого мы можем достичь OCP». Я прав на это? Можете ли вы привести пример, который …

4
Переключение против полиморфизма при работе с моделью и представлением
Я не могу найти лучшее решение моей проблемы. У меня есть контроллер представления, который представляет список элементов. Эти элементы являются моделями, которые могут быть экземплярами B, C, D и т. Д. И наследоваться от A. Таким образом, в этом контроллере представления каждый элемент должен переходить на другой экран приложения и …

2
Почему Java не поддерживает частное / защищенное наследование, такое как C ++? [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …

4
Являются ли неизменяемые / не имеющие состояния синглтоны плохими?
В последнее время произошла какая-то революция против синглетонов, но что с ними не так, если они не имеют гражданства? Я знаю разговоры о чрезмерном использовании и все ... это относится ко всему, а не только к одиночкам.

6
ОО Дизайн, как моделировать Tonal Harmony?
Я начал писать программу на C ++ 11, которая будет анализировать аккорды, гаммы и гармонию. Самая большая проблема, с которой я сталкиваюсь на этапе разработки, заключается в том, что нота «C» - это нота, тип аккорда (Cmaj, Cmin, C7 и т. Д.) И тип ключа (ключ Cmajor, Cminor). Та же …

1
Почему объектно-ориентированные парадигмы так долго уходили в мейнстрим?
Я прочитал этот вопрос, и это заставило меня задуматься о еще одной довольно недавней вещи. Объектно-ориентированные языки. Я не уверен, когда был создан первый, но почему прошло так много времени, прежде чем они стали мейнстримом? C стал чрезвычайно популярным, но не стал объектно-ориентированным C ++ в течение многих лет (десятилетий?) …

2
Нужны советы по дизайну
Я разрабатываю приложение, которое будет использоваться для открытия и закрытия клапанов в промышленной среде, и подумывал о чем-то простом, как это: public static void ValveController { public static void OpenValve(string valveName) { // Implementation to open the valve } public static void CloseValve(string valveName) { // Implementation to close the …

2
ФП для симуляции и моделирования
Я собираюсь начать проект моделирования / моделирования. Я уже знаю, что ООП используется для такого рода проектов. Однако изучение Haskell заставило меня задуматься об использовании парадигмы FP для моделирования системы компонентов. Позвольте мне уточнить: Допустим, у меня есть компонент типа A, характеризуемый набором данных (такой параметр, как температура или давление, …

4
Объектно-ориентированное программирование: геттеры / сеттеры или логические имена
В настоящее время я думаю об интерфейсе для класса, который я пишу. Этот класс содержит стили для символа, например, выделен ли он жирным шрифтом, курсивом, подчеркнут и т. Д. Я уже два дня спорю сам с собой о том, следует ли использовать методы получения / установки или логические имена для …

4
Плохо ли использовать интерфейс только для категоризации?
Например: Скажем , у меня есть классы A, B, C. У меня есть два интерфейса, давайте называть их IAnimalи IDog. IDogнаследует от IAnimal. Aи Bесть IDog, а Cнет, но это IAnimal. Важной частью является то, что не IDogпредоставляет никаких дополнительных функций. Он используется только для разрешения Aи B, но не …

4
Как вы получили хорошие практики для ваших проектов ООП? [закрыто]
Закрыто. Этот вопрос не по теме . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения стека Exchange. Закрыто 2 года назад . Я понял, что мне сложно создавать ООП-проекты. Я потратил много времени, решая, правильно ли установлено это …

3
Применяется ли разделение команда / запрос к методу, который создает объект и возвращает его идентификатор?
Давайте представим, что у нас есть сервис, который вызывает бизнес-процесс. Этот процесс вызовет слой данных для создания объекта типа A в базе данных. После этого нам нужно снова вызвать другой класс уровня данных, чтобы создать экземпляр типа B в базе данных. Нам нужно передать некоторую информацию о A для внешнего …

4
Как избежать раздутых доменных объектов
Мы пытаемся переместить данные из нашего раздутого уровня Service в наш уровень Domain, используя подход DDD. В настоящее время в наших сервисах много бизнес-логики, которая распространена повсеместно и не получает наследства. У нас есть центральный класс Domain, который находится в центре большинства нашей работы - Trade. Объект Trade будет знать, …

9
Как лучше всего выучить концепции / принципы ООП практически? [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …

3
Класс против структуры
В C ++ и других языках, на которые влияют, существует конструкция, которая называется Structure ( struct), а другая называется class. Оба способны содержать функции и переменные. Некоторые различия: Классу дается память в куче и structдается память в стеке (примечание: это неправильно для C ++, но может быть правильным в том, …

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