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

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

6
DDD инъекционные сервисы на вызовы методов сущностей
Краткий формат вопроса Находится ли в лучших практиках DDD и OOP внедрение служб при вызовах методов сущностей? Пример длинного формата Допустим, у нас есть классический случай Order-LineItems в DDD, где у нас есть объект домена, называемый заказом, который также действует как совокупный корень, и этот объект состоит не только из …

1
Использование порядка разрешения методов Python для внедрения зависимостей - это плохо?
Я наблюдал за речью Рэймонда Хеттингера о Pycon «Супер рассмотренный супер» и немного узнал о MRO (порядок разрешения методов) Python, который линеаризует классы «родительские» классы детерминистическим способом. Мы можем использовать это в наших интересах, как в приведенном ниже коде, для внедрения зависимостей. Так что теперь, естественно, я хочу использовать superдля …

2
Объектно-ориентированное позднее связывание
В определении объекта Alan Kays есть определение, которое я частично не понимаю: Для меня ООП означает только обмен сообщениями, локальное хранение и защиту, а также скрытие процесса состояния и крайнюю LateBinding всех вещей. Но что означает «LateBinding»? Как я могу применить это на языке, как C #? И почему это …

6
Каковы практические способы реализации SRP?
Просто какие практические методы люди используют, чтобы проверить, нарушает ли класс принцип единственной ответственности? Я знаю, что у класса должна быть только одна причина для изменения, но этому предложению не хватает практического способа действительно реализовать это. Единственный способ, который я нашел, - это использовать предложение "......... должен ......... сам". где …

1
ООП ECS против чистого ECS
Во-первых, я знаю, что этот вопрос связан с темой разработки игр, но я решил задать его здесь, поскольку он действительно сводится к более общей проблеме разработки программного обеспечения. В прошлом месяце я много читал о Entity-Component-Systems, и теперь я вполне доволен этой концепцией. Тем не менее, есть один аспект, который, …

6
Как избежать бесконечно повторяющихся одинаково неоптимальных проектов?
Поэтому, вероятно, как и многие, я часто сталкиваюсь с головными болями, связанными с проблемами проектирования, в которых, например, есть какой-то шаблон / подход к проектированию, который, кажется, интуитивно подходит к проблеме и имеет желаемые преимущества. Очень часто есть некоторая оговорка, которая затрудняет реализацию шаблона / подхода без какой-либо обработки, которая …

3
Это хорошая практика, чтобы обернуть связанный набор свойств в свою собственную структуру / класс?
Написание объекта User в Swift, хотя мой вопрос касается любого строго типизированного языка. Пользователь может иметь несколько ссылок (FacebookProfile, InstagramProfile и т. Д.). Несколько вопросов по этому поводу. Это хорошая практика, чтобы обернуть ссылки в свой собственный объект? struct User { var firstName: строка var lastName: строка var email: string …

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

6
Что такое простой процесс проектирования системы ООП перед ее кодированием?
Всякий раз, когда мне требовалось построить проект, мне всегда удавалось построить его, не заранее разработав план или проект, а после того, как сначала написал необходимый класс, конкретизировав весь проект, создавая его снизу вверх. Теперь я знаю, что это не правильный способ создания программного обеспечения, но мне нелегко обернуть голову вокруг …

6
Является ли разделение большинства классов на поля данных только классами и только классы методов (если это возможно) хорошим или антишаблонным?
Например, класс обычно имеет члены класса и методы, например: public class Cat{ private String name; private int weight; private Image image; public void printInfo(){ System.out.println("Name:"+this.name+",weight:"+this.weight); } public void draw(){ //some draw code which uses this.image } } Но после прочтения принципа единой ответственности и открытого закрытого принципа, я предпочитаю разделить …

4
Каковы основные обязанности в объектно-ориентированном программировании?
Я новичок в объектно-ориентированном программировании, и я не понимаю, какова цель основного. Да, я читал, что это «точка входа» в программу, но я не понимаю, что должно быть в основном? И каковы его обязанности? Может случиться так, что что-то написанное в main может быть инкапсулировано в другой объект, но насколько …

2
Разве плохо создавать классы, единственной целью которых является неявное преобразование в другой класс?
Представьте себе ситуацию, когда мы используем библиотеку, которая позволяет вам создавать Circleобъекты, где вы можете указать радиус и центр круга, чтобы определить его. Однако по какой-то причине он также принимает обязательный flavourпараметр. Теперь предположим, что мне действительно нужно использовать Circleв моем собственном приложении, но для целей моего приложения я могу …

3
Использование интерфейсов для слабосвязанного кода
Фон У меня есть проект, который зависит от использования определенного типа аппаратного устройства, хотя на самом деле не имеет значения, кто делает это аппаратное устройство, если оно делает то, что мне нужно. При этом даже два устройства, которые должны делать одно и то же, будут иметь различия, если они не …

3
Как управлять единой ответственностью, когда ответственность разделена?
У меня есть два базовых класса, Operationи Trigger. У каждого есть несколько подклассов, которые специализируются на определенных типах операций или триггеров. А Triggerможет вызвать конкретный Operation. Хотя Operationможет быть вызвано конкретным Trigger. Мне нужно написать код, который сопоставляет данное Operationс данным Trigger(или наоборот), но я не уверен, где его поставить. …

2
Является ли наследование Python стилем наследования «как есть» или композиционным стилем?
Учитывая, что Python допускает множественное наследование, как выглядит идиоматическое наследование в Python? В языках с единичным наследованием, таких как Java, наследование будет использоваться, когда вы можете сказать, что один объект «a-a» другого объекта и вы хотите разделить код между объектами (от родительского объекта до дочернего объекта). Например, вы можете сказать, …

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