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

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

4
«Неправильно» / Плохой дизайн, чтобы поместить работника темы / фона в класс?
У меня есть класс, который будет читать из Excel (C # и .Net 4), и в этом классе у меня есть фоновый работник, который будет загружать данные из Excel, в то время как пользовательский интерфейс может оставаться отзывчивым. У меня такой вопрос: плохо ли иметь фонового работника в классе? Должен …

5
Можно ли применять DRY без увеличения сцепления?
Предположим, у нас есть программный модуль A, который реализует функцию F. Другой модуль B реализует ту же функцию, что и F '. Есть несколько способов избавиться от дубликата кода: Пусть A использует F 'из B. Пусть B использует F из A. Поместите F в его собственный модуль C и позвольте …

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

5
ООП Стиль кодирования: инициализировать все на конструкторе?
Я все еще считаю себя учеником-программистом, поэтому я всегда стремлюсь найти «лучший» способ для типичного программирования. Сегодня мой коллега утверждал, что мой стиль кодирования выполняет какую-то ненужную работу, и я хочу услышать мнения других. Как правило, когда я проектирую класс на языке ООП (обычно C ++ или Python), я делю …

1
Это хорошая практика для реализации двух методов Java 8 по умолчанию друг с другом?
Я проектирую интерфейс с двумя связанными методами, подобными этому: public interface ThingComputer { default Thing computeFirstThing() { return computeAllThings().get(0); } default List<Thing> computeAllThings() { return ImmutableList.of(computeFirstThing()); } } Приблизительно половина реализаций будет когда-либо вычислять только одну вещь, тогда как другая половина может вычислять больше. Есть ли у этого прецедент в …

8
Концепция и дизайн до кодирования: насколько это правда? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Я узнал в школе так же, как и везде, что хорошая методология разработки …

3
Как придерживаться принципа открытого-закрытого на практике
Я понимаю цель принципа открытого-закрытого. Он предназначен для того, чтобы уменьшить риск поломки чего-либо, что уже работает при его изменении, предлагая вам попытаться расширить без изменения. Однако у меня возникли проблемы с пониманием того, как этот принцип применяется на практике. Насколько я понимаю, есть два способа его применения. До и …

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

2
Дизайнерское решение - зачем генерировать <p> без </ p>?
ТЛ; др Некоторые широко используемые программы, которые генерируют html, будут генерировать только открывающие теги абзацев, а не закрывающие, при условии, что браузер правильно закроет абзацы. На первый взгляд, мне кажется, что предположение о том, что браузеры будут правильно закрывать абзацы, неверно. Правильна ли моя интерпретация? В целом, какие компромиссы связаны …

10
Почему СУБД не возвращают объединенные таблицы во вложенном формате?
Например, скажем, я хочу получить пользователя и все его номера телефонов и адреса электронной почты. Телефонные номера и электронные письма хранятся в отдельных таблицах, от одного пользователя до многих телефонов / электронных писем. Я могу сделать это довольно легко: SELECT * FROM users user LEFT JOIN emails email ON email.user_id=user.id …
14 design  sql  rdbms 

7
Должен ли суррогатный ключ когда-либо предоставляться пользователю?
Часто в таблице, которая не имеет естественного ключа, пользователям по-прежнему полезно иметь уникально сгенерированный идентификатор. Если таблица имеет суррогатный первичный ключ (и в этом случае вы, конечно, ожидаете этого), должен ли этот ключ быть открыт пользователю или для этой цели должно использоваться другое поле? Одна из причин не раскрывать суррогатный …

3
Общий дизайн анализатора файлов в Java с использованием шаблона Strategy
Я работаю над продуктом, в котором ответственность одного из модулей состоит в том, чтобы анализировать XML-файлы и выгружать необходимый контент в базу данных. Несмотря на то, что настоящее требование состоит только в разборе файлов XML, я хочу спроектировать свой модуль синтаксического анализа таким образом, чтобы в будущем я мог поддерживать …
14 java  design  parsing  xml 

1
Правильно ли мы используем шаблон хранилища?
Мы используем несколько отдельных классов с суффиксами -repositoryдля извлечения данных из базы данных; для каждой таблицы свой репозиторий. Например, у нас есть customerrepositoryкласс, который имеет все виды методов для поиска клиентов, и класс, который имеет все виды vacancyrepositoryметодов для поиска вакансий. У меня есть два вопроса об этом способе ведения …

8
OO Design связанные вопросы в технических интервью [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 4 года назад . Я недавно посещал довольно много интервью, и компании попросили меня ответить на вопросы …

5
Является ли наличие классов «Util» поводом для беспокойства? [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …

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