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

13
Визуально и слышно однозначное подмножество латинского алфавита?

Представьте, что вы даете кому-то карточку с кодом «5SBDO0». В некоторых шрифтах букву «S» сложно визуально отличить от цифры пять (как с цифрой ноль и буквой «О»). Читая код вслух, может быть трудно отличить «B» от «D», требуя сказать «B как у мальчика», «D как у собаки» или использовать вместо...

13
Каков самый простой читаемый формат файла конфигурации? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Текущий файл конфигурации выглядит следующим образом: mainwindow.title =...

13
Валидация и авторизация в многоуровневой архитектуре

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

13
Дизайн: Обратный звонок в родительский класс

При моделировании объекта с дочерними элементами обычно включают дочерние элементы посредством композиции в качестве члена родительского класса. Однако иногда детям нужно что-то сказать родителю, им нужно вызвать функцию родителя. Как это можно сделать с помощью C ++? Некоторые варианты: Сделайте...

13
Когда я должен использовать AtomPub?

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

13
Преимущества классического ООП над языком Go-like

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

13
Должны ли интерфейсы расширяться (и при этом наследовать методы) других интерфейсов

Хотя это общий вопрос, он также специфичен для проблемы, с которой я сейчас сталкиваюсь. В настоящее время у меня есть интерфейс, указанный в моем решении под названием public interface IContextProvider { IDataContext { get; set; } IAreaContext { get; set; } } Этот интерфейс часто используется во...

13
Существуют ли какие-либо конкретные рабочие процессы или шаблоны проектирования, которые обычно используются для создания больших приложений функционального программирования? [закрыто]

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

13
Является ли упаковка стороннего кода единственным решением для модульного тестирования своих потребителей?

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

13
Преимущества и недостатки структурирования всего кода с помощью классов и компиляции в классы (например, Java)

Изменить: мой язык допускает множественное наследование, в отличие от Java. Я начал проектировать и разрабатывать свой собственный язык программирования для образовательных, развлекательных и потенциально полезных целей. Сначала я решил основать его на Java. Это подразумевает, что весь код будет...

13
Хорошие стратегии реализации для инкапсуляции общих данных в программный конвейер

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

13
Как C ++ обрабатывает множественное наследование с общим общим предком?

Я не парень C ++, но я вынужден думать об этом. Почему множественное наследование возможно в C ++, но не в C #? (Я знаю о проблеме алмазов , но я не об этом здесь спрашиваю). Как C ++ разрешает неоднозначность идентичных сигнатур методов, унаследованных от нескольких базовых классов? И почему тот...

13
Принцип инверсии зависимости: Как определить «политику высокого уровня» и «детализацию низкого уровня» для других людей?

Я пытаюсь объяснить принцип инверсии зависимостей моим (в основном младшим) коллегам. Как мы можем определить, какая из них является «политикой высокого уровня», а какая «низкоуровневой» в программном обеспечении? Например, если наше программное обеспечение автоматизирует рабочий процесс нескольких...

13
Является ли субъект домена нарушением принципа единой ответственности?

Единственная ответственность (причина изменения) организации должна заключаться в том, чтобы однозначно идентифицировать себя, иными словами, ее ответственность должна быть обнаруживаемой. DDD книга Эрика Эвана, стр. 93: основная ответственность Сущностей заключается в установлении преемственности,...

13
Насколько модель данных влияет на масштабируемость и производительность в так называемой базе данных «NoSQL»?

Вы никогда не сможете поговорить о так называемой базе данных «NoSQL», не приведя теорему CAP (согласованность, доступность, раздел: выберите два). Если вам нужно выбрать, скажем, между MongoDB (Разделение, Согласованность) и CouchDB (Доступность, Разделение), первое, о чем вам нужно подумать: «Мне...

13
Почему тип опции Scala не называется Maybe, как в Haskell? [закрыто]

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

13
Когда использование базы данных должно быть предпочтительнее, чем анализ данных из текстового файла?

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

13
Рельсы: Закон Путаницы Деметры

Я читаю книгу под названием Rails AntiPatterns, и они говорят об использовании делегирования, чтобы избежать нарушения закона Деметры. Вот их главный пример: Они считают, что вызывать что-то подобное в контроллере плохо (и я согласен) @street = @invoice.customer.address.street Их предлагаемое...

13
Почему добавление к списку в Scala имеет O (n) сложность по времени?

Я только что прочитал, что время выполнения операции добавления для List(: +) растет линейно с размером List. Присоединение к a Listкажется довольно обычной операцией. Почему идиоматический способ сделать это состоит в том, чтобы предварительно добавить компоненты, а затем перевернуть список? Это...