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

16
Почему C ++ все еще «гибрид»

По смежному вопросу выяснилось, почему C ++ не совместим с C во многих аспектах. Однако C ++ по-прежнему является «гибридным» * языком. И, к сожалению, многие программисты все еще рассматривают C ++ как «C с потоками и встроенными строками». В результате получается действительно плохо написанный...

16
Оглядываясь назад, основывать XAML на XML - это ошибка или хороший подход?

XAML по сути является подмножеством XML. Говорят, что одним из основных преимуществ использования XAML на XML является возможность его анализа с помощью существующих инструментов. И это может, в значительной степени, хотя (синтаксически нетривиальные) значения атрибутов останутся в текстовом виде и...

16
Это работа программистов для разработки базы данных?

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

16
Использовать конструктор или метод установки?

Я работаю над кодом пользовательского интерфейса, где у меня есть Actionкласс, что-то вроде этого - public class MyAction extends Action { public MyAction() { setText("My Action Text"); setToolTip("My Action Tool tip"); setImage("Some Image"); } } Когда этот класс Action был создан, предполагалось,...

16
Как обрабатывать денежные значения в PHP и MySql?

Я унаследовал огромную кучу унаследованного кода, написанного на PHP, поверх базы данных MySQL. Я заметил, что приложение используетdoubles для хранения и манипулирования данными. Теперь я наткнулся на многочисленные посты с упоминанием того, как double они не подходят для денежных операций из-за...

16
Когда использовать вложенные ресурсы в RESTful API

У меня есть два ресурса: пользователи и ссылки. Пользователи могут иметь несколько ссылок, связанных с ними. Я разработал мой RESTful API, чтобы вы могли получить доступ к ссылкам, связанным с пользователем, по следующему URI: /users/:id/links Однако мне всегда нужно иметь URI только для ссылок -...

16
HTTP-сеанс или база данных

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

16
Слабая связь в объектно-ориентированном дизайне

Я пытаюсь изучить GRASP, и я нашел это объяснение ( здесь на странице 3 ) о низком соединении, и я был очень удивлен, когда обнаружил следующее: Рассмотрим метод addTrackдля Albumкласса, два возможных метода: addTrack( Track t ) и addTrack( int no, String title, double duration ) Какой метод...

16
DDD ограниченные контексты и домены?

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

16
Понимание структуры посетителя

У меня есть иерархия классов, которая представляет элементы управления GUI. Что-то вроде этого: Control->ContainerControl->Form Я должен реализовать ряд алгоритмов, которые работают с объектами, делающими разные вещи, и я думаю, что шаблон Visitor будет самым чистым решением. Давайте возьмем,...

16
MVC: Контролер нарушает принцип единой ответственности?

Принцип Единой Ответственности гласит, что «класс должен иметь одну причину изменения». В паттерне MVC работа Контроллера заключается в том, чтобы быть посредником между представлением и моделью. Он предлагает интерфейс для представления отчетов о действиях, выполненных пользователем в графическом...

16
Применение принципов чистого кода к функциональным языкам

В настоящее время я читаю Чистый код Роберта Мартина . Я думаю, что это здорово, и когда я пишу ОО-код, я принимаю его уроки близко к сердцу. В частности, я думаю, что его совет использовать маленькие функции со значимыми именами делает мой код более плавным. Лучше всего подытожить этой цитатой:...

16
Нелегально в PHP: есть ли причина разработки ООП?

Приведенное ниже наследование интерфейса недопустимо в PHP, но я думаю, что это было бы весьма полезно в реальной жизни. Есть ли настоящая антипаттерн или задокументированная проблема с приведенным ниже дизайном, от которой PHP защищает меня? <?php /** * Marker interface */ interface IConfig {}...

16
Управление версиями содержимого базы данных

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

16
Как создать тип данных для чего-то, что представляет собой или две другие вещи

Фон Вот настоящая проблема, над которой я работаю: я хочу представить карты в карточной игре Magic: The Gathering . Большинство карт в игре выглядят нормально, но некоторые из них разделены на две части, каждая со своим именем. Каждая половина этих двухкомпонентных карт рассматривается как сама...

16
Проверка данных: отдельный класс или нет?

Когда у меня есть много данных, которые необходимо проверить, я должен создать новый класс с единственной целью проверки или я должен придерживаться проверки в методе? Мой конкретный пример рассматривает турнир и класс события / категории: Tournamentи Event, который моделирует спортивный турнир, и...

16
Язык, основанный на ограниченном количестве аргументов, передаваемых функциям

Идея вдохновлена ​​тем фактом, что операторы фактов, такие как +, -,% и т. Д., Могут рассматриваться как функции с одним или двумя переданными аргументами, без побочных эффектов. Предполагая, что я или кто-то еще пишет язык, который останавливает передачу более двух аргументов, а также работает...

16
Идиоматическое использование исключений в C ++

В isocpp.org исключения FAQ государства Не используйте throw, чтобы указать на ошибку кодирования при использовании функции. Используйте assert или другой механизм для отправки процесса в отладчик или для сбоя процесса и сбора аварийного дампа для отладки разработчиком. С другой стороны,...

16
DDD: правильно ли для корневого агрегата хранить ссылку на другой корневой агрегат?

При следовании модели, управляемой доменом (DDD), правильно ли для корневого агрегата хранить ссылку на внутренний объект, который оказывается корневым объектом в отдельном агрегате? Я считаю, что это не правильно, в основном из-за этого правила в синей книге : Ничто за пределами границы AGGREGATE...

16
Общая библиотека - хорошая идея?

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