Программная инженерия

Q & A для профессионалов, преподавателей и студентов, работающих в жизненном цикле разработки систем

3
Я получаю инъекцию зависимости, но может ли кто-нибудь помочь мне понять необходимость контейнера IoC?
Я прошу прощения, если это кажется еще одним повторением вопроса, но каждый раз, когда я нахожу статью, касающуюся этой темы, в основном это просто говорит о том, что DI. Итак, я получаю DI, но я пытаюсь понять потребность в контейнере IoC, в который, кажется, все входят. Действительно ли смысл контейнера …

2
Является ли это хорошей структурой решения Visual Studio для веб-службы RESTful, управляемой доменом?
Я создаю решение RESTful для .NET 4.5 C # Web API, и я хотел бы, чтобы кто-нибудь сказал мне, является ли мое проектное решение правильным и / или мудрым (достаточно?) Для решения, разработанного с использованием доменного дизайна, пожалуйста. Решение было разделено на 6 проектов: /База (Ничего не указано) Веб-проект и …

7
Функция возвращает только неизмененный параметр, бесполезно?
Я только что нашел эту функцию в проекте, над которым я работаю: -- Just returns the text unchanged. -- Note: <text> may be nil, function must return nil in that case! function Widget:wtr(text) return text end Жаль, кодер больше не работает в компании. Зачем делать функцию, которая ничего не делает, …

1
Структура приложения Java: горизонтальное или вертикальное разделение
Немного поспорил о начальной структуре проекта (используя Maven / Eclipse) для большого Java-приложения. Опция 1: entities (i.e. the whole database using Hibernate classes-first) services (i.e. sets of read/write operations on the entities) app (perhaps split up more further down the line) Вариант 2: area1-entities area1-services area1-app area2-entities area2-services area2-app ... …

4
Являются ли первоклассные функции заменой шаблону Стратегии?
Шаблон дизайна Стратегии часто рассматриваются в качестве замены для функций первого класса на языках , которые не имеют их. Например, скажем, вы хотели передать функциональность в объект. В Java вам нужно передать объекту другой объект, который инкапсулирует желаемое поведение. В таком языке, как Ruby, вы просто передаете функциональность в виде …

2
Зачем мне использовать ElasticSearch, если я уже использую базу данных графа?
В Интернете я не нашел глубокого объяснения о сравнении ElasticSearch и графических баз данных. Оба оптимизированы для прохождения данных. ElasticSearch, похоже, оптимизирован для аналитики. Однако Neo4j также основан на Lucene для управления индексами и некоторыми полнотекстовыми функциями. Зачем мне использовать ElasticSearch, если я уже использую базу данных графа? В моем …

1
Как сокеты работают через беспроводные соединения?
Я работал только с клиентскими (в частности, мобильными) приложениями, использующими Android, где все сети обрабатываются на уровне HTTP с использованием компонентов, предоставляемых инфраструктурой, таких как HttpUrlConnection. Но системы push-сообщений, такие как Websockets / XMPP и т. Д., Поддерживают постоянное соединение с сервером. Даже GCM от Google, встроенный в устройства с …

3
Зачем использовать фрагменты Android?
Я прочитал документацию и некоторые другие вопросы по этой теме, и я не чувствую себя убежденным; Я не вижу четких границ использования этой техники. Фрагменты теперь рассматриваются как лучшая практика ; каждое действие должно быть в основном поддержкой одного или нескольких фрагментов, а не вызывать макет напрямую. Фрагменты создаются для …

3
Почему интерфейсы более полезны, чем суперклассы, для достижения слабой связи?
( Для целей этого вопроса, когда я говорю «интерфейс», я имею в виду языковую конструкциюinterface , а не «интерфейс» в другом смысле слова, то есть общедоступные методы, которые класс предлагает внешнему миру для взаимодействия и манипулировать им. ) Слабая связь может быть достигнута, если объект зависит от абстракции, а не …

4
Добавление поля в класс во время выполнения - шаблон проектирования
Представьте, что ваши клиенты хотят иметь возможность добавлять новые свойства (например, цвета) к продукту в своем интернет-магазине в своей CMS. Вместо того, чтобы иметь свойства как поля: class Car extends Product { protected String type; protected int seats; } Вы, вероятно, в конечном итоге сделать что-то вроде: class Product { …

5
Работа с большим запросом тяги
В настоящее время я работаю над проектом с командой, которая использует рабочий процесс git. Это довольно просто, мастер должен находиться в развертываемом состоянии, а ветки используются для создания функций и исправлений. Всякий раз, когда мы дополняем и тестируем функцию или исправление ошибки, мы передаем ее мастеру, как только можем. Идея …
15 git  workflows 

4
Кто имеет право на код, который поступает от участия в проекте с открытым исходным кодом?
Если кто-то запускает проект с открытым исходным кодом (например, с лицензией GPL), где люди будут вносить вклады, то кому будут принадлежать эти вклады на уровне всего проекта? Станет ли новый код собственностью первоначального автора или авторы тоже будут авторами? Кто имеет право на текущий проект? Например, кто имеет право выпускать …

2
Номер версии как часть имени файла
Я вижу, что для некоторых программ номер версии включен как часть имени файла, а для других - нет. Я более привык к последнему типу и думаю, что он более популярен, но иногда я вижу первый тип в библиотеках javascript. Например, имя файла jQuery похоже на jquery-2.1.0.jsвместо jquery.js. Всякий раз, когда …

4
Отображение между 4 + 1 моделью архитектурного вида и UML
Я немного озадачен тем, как модель архитектурного представления 4 + 1 отображается в UML. Википедия дает следующее отображение: Логическое представление: диаграмма классов, диаграмма связи, диаграмма последовательности. Вид разработки: Диаграмма компонентов, Диаграмма пакетов Представление процесса: Диаграмма действий Физический вид: диаграмма развертывания Сценарии: диаграмма варианта использования В статье « Роль конструкций диаграмм …
15 architecture  uml  model  view 

3
Как поддерживать разные версии API
Я пишу Rest API и мне интересно, как лучше всего поддерживать различные версии. Под этим я не подразумеваю, как определить URI как V2 или V3, а скорее как структурировать код, учитывая, что для этого потребуется: Поддержка нескольких версий одновременно, например. URI V1 & V2 & V3 должны быть активны одновременно. …

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