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

Вопросы о решении проблем и планировании решения посредством разработки программного обеспечения.

3
Существуют ли стратегии для обнаружения служб REST с использованием HATEOAS?
При построении службы REST с ограничением HATEOAS очень легко объявить о существовании ресурсов посредством связывания. Вы заходите GETв корень моего сайта, а я отвечаю корневым документом, в котором перечислены все ресурсы первого уровня: { users: { href: "/users" } questions { href: "/questions" } } Клиенты, которые понимают, как читать …
10 design  rest  hateoas 

1
Язык ограничений объектов (OCL) для стека в пакете java.util
Я готовлюсь к экзамену и просматриваю прошлые статьи, чтобы понять, чего ожидать. Я немного застрял на следующем и был бы очень признателен, если бы кто-нибудь мог дать несколько примеров ответов. Записать предварительные условия и постусловия в OCL для каждой из следующих операций (включенных в класс Stack в пакете java.util): (1) …
10 design  languages  object  ocl 

3
Должен ли список параметров метода содержать объекты или идентификаторы объектов?
Наши команды проводят следующую дискуссию: Допустим, у нас есть два следующих метода: public Response Withdraw(int clubId, int terminalId,int cardId, string invoice, decimal amount); public Response Withdraw(Club club, Terminal terminal,Card card, string invoice, decimal amount); то, что отправлено по проводам, это просто идентификаторы. одна сторона говорит, что первый метод правильный, потому …
10 design  methods 

3
Существует ли такая концепция, как «псевдо-реализация» в разработке программного обеспечения?
Я ищу ярлык, чтобы описать практику использования человеческих вычислительных методов или других средств «подделки» алгоритма для быстрого получения продукта или демонстрации, не тратя время на разработку технического / масштабируемого / аналитическое решение? Например: использование Amazon Turk для подсчета количества пустых столов в ресторане. Я также хочу узнать больше об этом …

5
Должен ли я учитывать стоимость выхода при выборе решения?
В настоящее время я выбираю между двумя жизнеспособными программными решениями / решениями. Решение 1 легко внедрить, но оно заблокирует некоторые данные в проприетарном формате, и его будет сложно изменить позже. Решение 2 сложно реализовать, но потом будет намного легче изменить. Должен ли я пойти YAGNI по этому вопросу или я …

5
Как выполнить модульное тестирование функции, которая подвергается рефакторингу к шаблону стратегии?
Если у меня есть функция в моем коде, которая выглядит следующим образом: class Employee{ public string calculateTax(string name, int salary) { switch (name) { case "Chris": doSomething($salary); case "David": doSomethingDifferent($salary); case "Scott": doOtherThing($salary); } } Обычно я реорганизовал бы это, чтобы использовать Ploymorphism, используя фабричный класс и шаблон стратегии: public …

6
Интерпретация принципа СУХОЙ
Прямо сейчас я борюсь с этим понятием СУХОЙ (не повторяй себя) в моем коде. Я создаю эту функцию, в которой я боюсь, что она становится слишком сложной, но я пытаюсь следовать принципу СУХОЙ. createTrajectoryFromPoint(A a,B b,C c,boolean doesSomething,boolean doesSomething2) Я говорю, что эта функция принимает 3 входных параметра, а затем …
10 java  design  dry 

4
Шаблон проектирования для обработки ответа
Большую часть времени, когда я пишу некоторый код, который обрабатывает ответ для определенного вызова функции, я получаю следующую структуру кода: пример: это функция, которая будет обрабатывать аутентификацию для системы входа class Authentication{ function login(){ //This function is called from my Controller $result=$this->authenticate($username,$password); if($result=='wrong password'){ //increase the login trials counter //send …

1
Как реорганизовать Python «класс бога»?
проблема Я работаю над проектом Python, основным классом которого является « Объект Бога ». Существует так много чертовых атрибутов и методов! Я хочу изменить класс. Уже… Для первого шага я хочу сделать что-то относительно простое; но когда я попробовал самый простой подход, он сломал некоторые тесты и существующие примеры. По …

2
Применим ли «Закон Деметры» к публичным сигнатурам / методам API?
Учитывая, что изменения в сигнатуре API / публичного метода должны быть минимальными, чтобы не допустить взлома тех клиентских кодов, которые используют эти методы, мне было интересно, не применим ли закон Деметры к ним. Простой пример: class Account() { double balance; public void debit(Transaction t) { balance -= t.getAmount(); } } …

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

7
Как мне перейти от возможности писать код к тому, чтобы стать хорошим разработчиком?
Я разочарован отсутствием конкретных объяснений о том, как перейти от возможности писать сценарии (bash, awk) и писать простые приложения (c, php, python) к проектированию и разработке более крупного и более сложного программного обеспечения. Кажется, что с одной стороны есть книги по языку программирования, а с другой - книги по разработке …

5
Конфиг Класс / Структура: Шаблон или Анти-Шаблон? Альтернативы?
Если вы добавляете новые параметры конфигурации в программу, она часто может иметь множество волновых эффектов с точки зрения получения параметров там, где им нужно действовать. Я знаю о трех основных способах решения этой проблемы: Передайте все параметры конфигурации тем частям вашей программы, которые явно нуждаются в них в качестве примитивов. …

7
Как справиться с проблемой (компиляции) большой базы кода?
Хотя я умею кодировать, у меня пока нет опыта работы над большими проектами. До сих пор я занимался написанием небольших программ, которые компилируются за считанные секунды (различные упражнения на языке c / c ++, такие как алгоритмы, принципы программирования, идеи, парадигмы, или просто тестирование API-интерфейсов ...) или работой над небольшими …

6
Изменился мир клиента - как мы справимся с этим?
Некоторое время назад нам было поручено войти в проект и заменить старую систему Mainframe клиента новым решением ASP.NET для интрасети, использующим SQL Server в качестве серверной части. Частично это было реинжинирингом бизнеса - по сути, когда мы меняли систему, мы должны были думать о том, как мы можем лучше вести …

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