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

45
Быть либеральным в том, что вы принимаете ... или нет?

[Отказ от ответственности: этот вопрос субъективен, но я бы предпочел получать ответы, подкрепленные фактами и / или размышлениями] Я думаю, что все знают о принципе робастности , обычно описываемом законом Постеля: Будьте консервативны в том, что вы посылаете; быть либеральным в том, что вы...

45
Насколько необходимо следовать методам защитного программирования для кода, который никогда не станет общедоступным?

Я пишу Java-реализацию карточной игры, поэтому я создал специальный тип Collection, который я называю Zone. Все методы модификации Java Collection не поддерживаются, но в Zone API есть метод move(Zone, Card), который перемещает карту из заданной зоны в себя (выполняется с помощью методов, закрытых...

44
Является ли дизайн, управляемый доменом, анти-SQL шаблоном?

Я погружаюсь в дизайн, управляемый доменом (DDD), и хотя я углубляюсь в это, есть некоторые вещи, которые я не понимаю. Насколько я понимаю, главное - это отделить доменную логику (бизнес-логику) от инфраструктуры (БД, файловая система и т. Д.). Что мне интересно, так это то, что происходит, когда...

44
Где разместить бизнес-логику в дизайне MVC?

Я создал простое Java-приложение MVC, которое добавляет записи через формы данных в базу данных. Мое приложение собирает данные, проверяет и сохраняет их. Это связано с тем, что данные поступают онлайн от разных пользователей. данные в основном числовые по своей природе. Теперь, когда числовые...

44
Почему хорошие программисты имеют ужасные сайты? [закрыто]

Это какой-то закон Мерфи? Возможно, если я захочу нанять очень хорошего программиста-ниндзя, я должен проверить его веб-сайт, как в «Показать свой веб-сайт, и я скажу, насколько вы хороши». РЕДАКТИРОВАТЬ: перейдите на вкладку самых популярных пользователей stackoverflow, и вы...

44
Почему метод финализации включен в Java?

Согласно этому посту , мы никогда не должны полагаться на вызываемый метод finalize. Так почему же Java вообще включила его в язык программирования? Кажется ужасным решение включить в любой язык программирования функцию, которая может быть...

44
Распространение исключений: когда я должен ловить исключения?

MethodA вызывает MethodB, который, в свою очередь, вызывает MethodC. Нет обработки исключений в MethodB или MethodC. Но в MethodA есть обработка исключений. В MethodC происходит исключение. Теперь это исключение всплывает в методе А, который обрабатывает его соответствующим образом. Что не так с...

44
Как бы вы внедрили Google Search? [закрыто]

Предположим, вас спросили в интервью "Как бы вы внедрили Поиск Google?" Как бы вы ответили на такой вопрос? Там могут быть ресурсы, которые объясняют, как реализованы некоторые части в Google (BigTable, MapReduce, PageRank, ...), но это не совсем подходит для интервью. Какую общую архитектуру вы бы...

44
Может ли система быть на 100% управляемой данными?

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

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

Нам часто говорят, что аппаратному обеспечению не важно, на каком языке написана программа, поскольку оно видит только скомпилированный двоичный код, однако это не вся правда. Например, рассмотрим скромный Z80; его расширения к набору команд 8080 включают в себя такие инструкции, как CPIR, которые...

44
Почему структуры и классы являются отдельными понятиями в C #?

При программировании на C # я наткнулся на странное решение о дизайне языка, которое просто не могу понять. Таким образом, C # (и CLR) имеют два совокупных типа данных: struct(тип значения, хранящийся в стеке, без наследования) и class(тип ссылки, хранящийся в куче, имеет наследование). Вначале эта...

44
Лучшие практики или шаблоны проектирования для извлечения данных для отчетов и панелей мониторинга в доменном приложении

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

43
Твердые принципы против ЯГНИ

Когда твердые принципы становятся ЯГНИ? Как программисты, мы постоянно идем на компромиссы между сложностью, ремонтопригодностью, временем сборки и так далее. Среди прочего, два из самых умных руководящих принципов для выбора - это, на мой взгляд, принципы SOLID и YAGNI. Если вам это не нужно; не...

43
Ссылка на значения базы данных в бизнес-логике

Я думаю, это еще один вопрос о жестком кодировании и передовых методах. Допустим, у меня есть список значений, скажем, фруктов, хранящихся в базе данных (он должен быть в базе данных, так как таблица используется для других целей, таких как отчеты SSRS), с идентификатором: 1 Apple 2 Banana 3 Grapes...

43
Когда НЕ применять принцип инверсии зависимости?

В настоящее время я пытаюсь выяснить, ТВЕРДЫЙ. Таким образом, принцип обращения зависимостей означает, что любые два класса должны взаимодействовать через интерфейсы, а не напрямую. Пример: если class Aесть метод, который ожидает указатель на объект типа class B, то этот метод должен фактически...

43
Как модульные тесты облегчают дизайн?

Наш коллега продвигает написание модульных тестов, поскольку на самом деле помогает нам дорабатывать дизайн и реорганизовывать вещи, но я не понимаю, как это сделать. Если я загружаю файл CSV и анализирую его, как модульный тест (проверка значений в полях) поможет мне проверить мой дизайн? Он...

43
Были ли пробелы в идентификаторах когда-либо идиоматическими? [закрыто]

Стиль C # предлагает использовать CamelCase в идентификаторах для разделения слов. Традиция Лиспа предлагает использовать вместо него тире. Существовал ли когда-либо язык программирования, где использование пробелов в идентификаторах было не только разрешено, но и широко использовалось при...

42
Какова роль ведущего разработчика в гибкой команде?

В не-гибкой команде разработчиков ведущий разработчик обычно : Устанавливает стандарт (кодирование и другое) Исследует новые технологии для команды Устанавливает техническое направление для команды Имеет последнее слово по вопросам Проектирует архитектуру системы Однако гибкая команда работает...

42
Что такого плохого в DOM?

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