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

14
В разработке API, когда использовать / избегать специального полиморфизма?

Сью разрабатывает библиотеку JavaScript Magician.js. Его стержень является функцией, которая извлекает Rabbitиз переданного аргумента. Она знает, что ее пользователи могут захотеть вытащить кролика из a String, a Number, a Function, возможно, даже a HTMLElement. Имея это в виду, она могла бы...

14
Должен ли суррогатный ключ когда-либо предоставляться пользователю?

Часто в таблице, которая не имеет естественного ключа, пользователям по-прежнему полезно иметь уникально сгенерированный идентификатор. Если таблица имеет суррогатный первичный ключ (и в этом случае вы, конечно, ожидаете этого), должен ли этот ключ быть открыт пользователю или для этой цели должно...

14
Как правильно вкладывать ресурсы в модель REST?

Я разрабатываю REST API сервиса и застрял на правильном способе вложения ресурсов. Ресурсы: партнеры, тикеты, настройки Связи между ресурсами: у партнера много билетов, партнер имеет набор настроек, Деловая логика: Вы можете перечислить всех партнеров в качестве анонимного пользователя, Вы можете...

14
В Java, почему защищенные члены стали доступными для классов одного и того же пакета?

Из официальной документации ... Модификатор класса пакета подкласс мира общедоступный ГГГГ защищенный YYYN без модификатора YYNN частный YNNN Дело в том, что я не могу вспомнить случай использования, когда мне нужно было получить доступ к защищенным членам из класса в одном пакете. Каковы были...

14
Дизайнерское решение - зачем генерировать <p> без </ p>?

ТЛ; др Некоторые широко используемые программы, которые генерируют html, будут генерировать только открывающие теги абзацев, а не закрывающие, при условии, что браузер правильно закроет абзацы. На первый взгляд, мне кажется, что предположение о том, что браузеры будут правильно закрывать абзацы,...

14
Почему СУБД не возвращают объединенные таблицы во вложенном формате?

Например, скажем, я хочу получить пользователя и все его номера телефонов и адреса электронной почты. Телефонные номера и электронные письма хранятся в отдельных таблицах, от одного пользователя до многих телефонов / электронных писем. Я могу сделать это довольно легко: SELECT * FROM users user...

14
Должен ли я написать интерфейс API перед реализацией?

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

14
Как придерживаться принципа открытого-закрытого на практике

Я понимаю цель принципа открытого-закрытого. Он предназначен для того, чтобы уменьшить риск поломки чего-либо, что уже работает при его изменении, предлагая вам попытаться расширить без изменения. Однако у меня возникли проблемы с пониманием того, как этот принцип применяется на практике. Насколько...

14
Концепция и дизайн до кодирования: насколько это правда? [закрыто]

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

14
Как вы работаете с версиями в многостороннем проекте?

Я знаю, что это широкий вопрос, поэтому я постараюсь быть максимально конкретным. Этот вопрос скорее «организационный», чем технический. У нас есть многосторонний проект со следующими основными компонентами: Сервер, на котором размещена основная бизнес-логика (модели данных) Бэк-офис для клиентов,...

14
Это хорошая практика для реализации двух методов Java 8 по умолчанию друг с другом?

Я проектирую интерфейс с двумя связанными методами, подобными этому: public interface ThingComputer { default Thing computeFirstThing() { return computeAllThings().get(0); } default List<Thing> computeAllThings() { return ImmutableList.of(computeFirstThing()); } } Приблизительно половина...

14
Каков хороший дизайн для обеспечения обратной совместимости файлов между различными версиями программного обеспечения?

Каков хороший дизайн для обеспечения обратной совместимости типов файлов между различными версиями программного обеспечения? Например, как Microsoft получает Word 2007, 2010 и 2013 и т. Д. Во все открытые файлы DOCX, но разные редакции могут сохранять больше / меньше данных и сохранять данные...

14
Заводской паттерн нарушает принцип Open / Closed?

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

14
Как задокументировать вездесущий язык?

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

14
Насколько конкретным должен быть шаблон единой ответственности для классов?

Например, предположим, что у вас есть консольная игровая программа, которая имеет все виды методов ввода / вывода в консоль и из консоли. Будет ли это быть умным , чтобы держать их все в одном inputOutputклассе или разбить их на более конкретных классы , как startMenuIO, inGameIO, playerIO,...

14
Должен ли DAO быть синглтоном или нет?

Я разрабатываю RESTful API, и я думаю, что для моих ресурсов удобно использовать DAO, потому что, хотя я планирую просто использовать память для их хранения, я не хочу закрывать дверь тому, кто использует мою библиотеку, если они решили использовать реализация базы данных для DAO. Мой вопрос...

14
Как создать аутентификацию пользователя из клиентских приложений?

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

14
Как реализовать менеджер процессов в источнике событий

Я работаю над небольшим примером приложения, чтобы изучить концепции CQRS и источников событий. У меня есть Basketагрегат и Productагрегат, которые должны работать независимо друг от друга. Вот некоторый псевдокод, чтобы показать реализацию Basket { BasketId; OrderLines; Address; } // basket events...

14
ООП Стиль кодирования: инициализировать все на конструкторе?

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

14
Многие строят одну реализацию. Я безнадежен? Использовать сервисный локатор?

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