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

13
В DDD доменная служба по сути является просто шаблоном фасада и / или посредника?

В домене, управляемом дизайном, уровень домена может иметь несколько (традиционных) сервисов. Например, для пользовательского домена мы можем иметь: UserFactory, который строит объекты User различными способами. UserRepository, который отвечает за взаимодействие со службами постоянства на уровне...

13
Является ли интерфейс, предоставляющий асинхронные функции, утечкой абстракции?

Я читаю книгу « Принципы, практики и модели внедрения зависимостей» и читаю концепцию утечки абстракций, которая хорошо описана в книге. В эти дни я делаю рефакторинг базы кода C #, используя внедрение зависимостей, так что вместо блокирующих используются асинхронные вызовы. Поступая так, я...

12
Используете ли вы преимущества принципа открытого-закрытого?

Принцип открытого-закрытого (OCP) гласит, что объект должен быть открыт для расширения, но закрыт для модификации. Я полагаю, что понимаю это и использую это вместе с SRP для создания классов, которые делают только одно. И я пытаюсь создать много небольших методов, которые позволяют извлечь все...

12
С ++ не подходит для ООП? [закрыто]

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

12
Как избежать объектно-ориентированных ловушек, мигрировать из C, что сработало для вас?

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

12
Преимущества нескольких методов перед переключением

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

12
Как вы подходите к дизайну классов в ООП?

Когда я пытаюсь разработать OO-решение, я обычно использую моделирование CRC, в котором я перечисляю имена классов (существительные), что они делают (глаголы) и как они взаимодействуют с другими классами. Этот блог имеет следующее, что можно сказать об этом подходе существительное-глагол ...This...

12
Наследование пошло не так

У меня есть код, где хорошая модель наследования пошла под откос, и я пытаюсь понять, почему и как это исправить. По сути, представьте, что у вас есть иерархия Zoo с: class Animal class Parrot : Animal class Elephant : Animal class Cow : Animal и т.п. У вас есть методы eat (), run () и т. Д., И все...

12
Объектно-ориентированный дизайн классов

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

12
Класс против структуры

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

12
Как лучше всего выучить концепции / принципы ООП практически? [закрыто]

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

12
Каковы типичные соглашения об именах для публичных и частных функций OO C? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 4 года назад . Короткий вопрос Есть ли типичный способ назвать «публичных» и «частных»...

12
Как избежать раздутых доменных объектов

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

12
Применяется ли разделение команда / запрос к методу, который создает объект и возвращает его идентификатор?

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

12
Как вы получили хорошие практики для ваших проектов ООП? [закрыто]

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

12
Должен ли основной метод состоять только из создания объекта и вызова метода?

Мой друг сказал мне, что лучшая практика - mainметод, содержащий классы, должен называться Mainи содержать только mainметод. Также mainметод должен только анализировать входные данные, создавать другие объекты и вызывать другие методы. MainКласс и mainметод не должен делать ничего другого. По сути,...

12
Использование шаблона посетителя с большой иерархией объектов

контекст Я использовал с иерархией объектов (дерево выражений) «псевдо» шаблон посетителя (псевдо, так как в нем не используется двойная диспетчеризация): public interface MyInterface { void Accept(SomeClass operationClass); } public class MyImpl : MyInterface { public void Accept(SomeClass...

12
Плохо ли использовать интерфейс только для категоризации?

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

12
Объектно-ориентированное программирование: геттеры / сеттеры или логические имена

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

12
ФП для симуляции и моделирования

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