Вопросы с тегом «design»

30
Разработка класса, который будет принимать целые классы в качестве параметров, а не отдельные свойства

Например, у вас есть приложение с широко используемым классом, которое называется User. Этот класс предоставляет всю информацию о пользователе, его идентификаторе, имени, уровнях доступа к каждому модулю, часовом поясе и т. Д. Очевидно, что пользовательские данные широко используются во всей...

30
Интерфейсы на абстрактном классе

У меня и моего коллеги разные мнения о взаимоотношениях между базовыми классами и интерфейсами. Я полагаю, что класс не должен реализовывать интерфейс, если только этот класс не может использоваться, когда требуется реализация интерфейса. Другими словами, мне нравится видеть такой код: interface...

30
Должен ли я использовать микросервисы при разработке системы самостоятельно?

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

30
Является ли метод «запуска», «запуска» или «выполнения» хорошей практикой?

В настоящее время я работаю над базой кода, которая имеет много классов, которые реализуют метод Start. Мне кажется, что это двухфазная конструкция, которую я всегда считал плохой практикой. Я не могу сказать разницу между этим и конструктором. Когда целесообразно использовать метод запуска вместо...

30
лучшие практики работы фабрики Python

Предположим, у меня есть файл, foo.pyсодержащий класс Foo: class Foo(object): def __init__(self, data): ... Теперь я хочу добавить функцию, которая Fooопределенным образом создает объект из необработанных исходных данных. Должен ли я поместить его как статический метод в Foo или как другую...

30
Это запах кода, чтобы установить флаг в цикле, чтобы использовать его позже?

У меня есть фрагмент кода, в котором я повторяю карту до тех пор, пока определенное условие не станет истинным, а затем позже использую это условие, чтобы выполнить еще кое-что. Пример: Map<BigInteger, List<String>> map = handler.getMap(); if(map != null && !map.isEmpty()) { for...

30
Учитывая табун лошадей, как мне определить среднюю длину рога всех единорогов?

Приведенный выше вопрос является абстрактным примером распространенной проблемы, с которой я сталкиваюсь в унаследованном коде, или, точнее, проблем, возникших в результате предыдущих попыток решить эту проблему. Я могу вспомнить хотя бы один метод .NET Framework, предназначенный для решения этой...

30
Понимание «программирования для интерфейса»

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

30
Почему .compareTo () в интерфейсе, а .equals () в классе в Java?

Я хочу знать, почему интерфейс .compareTo()находится в Comparableинтерфейсе, а метод like .equals- в Objectклассе. Мне кажется произвольным, почему такой метод .compareTo()уже не в Objectклассе. Чтобы использовать .compareTo(), вы реализуете Comparableинтерфейс и реализуете .compareTo()метод для...

30
Как сторонники функционального программирования ответят на это утверждение в Code Complete?

На странице 839 второго издания Стив Макконнелл обсуждает все способы, с помощью которых программисты могут «преодолевать сложности» в больших программах. Его советы завершаются этим утверждением: «Объектно-ориентированное программирование обеспечивает уровень абстракции, который применяется...

30
Какова ценность сокрытия деталей через абстракции? Разве нет ценности в прозрачности?

Задний план Я не большой поклонник абстракции. Я признаю, что можно извлечь выгоду из адаптивности, переносимости и многократного использования интерфейсов и т. Д. Там есть реальная выгода, и я не хочу ставить это под сомнение, поэтому давайте проигнорируем ее. Есть еще одно важное «преимущество»...

30
Почему изучение lisp-интерпретатора в lisp так важно?

Я видел много учебных программ по CS и предложения для новых программистов, которые призывают начинающего программиста изучать интерпретатор lisp, который специально написан на lisp. Все эти сайты говорят что-то вроде «своего интеллектуального откровения», «это опыт просветления, который должен...

30
Почему самодостаточные компиляторы считаются обрядом для новых языков?

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

29
Насколько велика для класса?

Я давно работаю разработчиком (мне 49 лет), но я довольно новичок в объектно-ориентированной разработке. Я читал об ОО со времен Эйфеля Бертранда Мейера, но мало занимался программированием. Дело в том, что каждая книга по ОО-дизайну начинается с примера лодки, автомобиля или какого-либо обычного...

29
Когда следует использовать документ по сравнению с базой данных реляционных или графов? [закрыто]

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

29
Репозитории DDD в приложении или доменном сервисе

В настоящее время я изучаю DDD, и у меня возникли некоторые вопросы относительно того, как управлять репозиториями с DDD. На самом деле, я встретил две возможности: Первый Первый способ управления службами, которые я прочитал, состоит в том, чтобы внедрить репозиторий и модель домена в службу...

29
В чем проблемы разработчика с полезными сообщениями об ошибках? [закрыто]

Закрыто . Этот вопрос нуждается в деталях или ясности . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Добавьте детали и проясните проблему, отредактировав этот пост . Закрыто 5 лет назад . Меня по-прежнему поражает, что в наши дни продукты, которые годами используются под...

29
Является ли хорошей практикой использование объектов-сущностей в качестве объектов передачи данных?

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

29
Я пишу о синтаксисе языка. Есть ли какой-нибудь язык, в котором параметры помещаются внутри имени метода?

в JavaScript: function getTopCustomersOfTheYear(howManyCustomers, whichYear) { // Some code here. } getTopCustomersOfTheYear(50, 2010); в C #: public List<Customer> GetTopCustomersOfTheYear(int howManyCustomers, int whichYear) { // Some code here } List<Customer> customers =...

29
Что происходит с тестами методов, когда этот метод становится приватным после перепроектирования в TDD?

Допустим, я начинаю разрабатывать ролевую игру с персонажами, которые атакуют других персонажей и тому подобное. Применяя TDD, я делаю несколько тестов для проверки логики внутри Character.receiveAttack(Int)метода. Что-то вроде этого: @Test fun healthIsReducedWhenCharacterIsAttacked() { val c =...