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

9
Я изменил одну сигнатуру метода, и теперь у меня более 25 000 ошибок. Что теперь?
Я недавно начал новую работу, где я работаю над очень большим приложением (15M loc). В моей предыдущей работе у нас было такое же большое приложение, но (к лучшему или к худшему) мы использовали OSGi, что означало, что приложение было разбито на множество микросервисов, которые можно было независимо изменять, компилировать и …

11
Как избежать каскадного рефакторинга?
У меня есть проект. В этом проекте я хотел реорганизовать его, чтобы добавить функцию, и я рефакторинг проекта, чтобы добавить функцию. Проблема в том, что когда я закончил, оказалось, что мне нужно было сделать небольшое изменение интерфейса, чтобы приспособиться к нему. Так что я сделал изменения. И тогда класс потребления …

6
Почему плохая связь между функциями и данными плоха?
Я нашел эту цитату в « Радости Clojure » на с. 32, но кто-то сказал мне то же самое за ужином на прошлой неделе, и я слышал это и в других местах: Недостатком объектно-ориентированного программирования является тесная связь между функцией и данными. Я понимаю, почему ненужное соединение плохо в приложении. …

5
Где вы должны положить константы и почему?
В наших в основном больших приложениях у нас обычно есть только несколько мест для «констант»: Один класс для графического интерфейса пользователя и внутренних констант (заголовки вкладок, заголовки групповых блоков, коэффициенты вычислений, перечисления) Один класс для таблиц и столбцов базы данных (эта часть является сгенерированным кодом) плюс читаемые имена для них …

3
Как инъекция зависимости увеличивает связь?
На странице Википедии, посвященной внедрению зависимостей, раздел о недостатках говорит нам об этом: Внедрение зависимостей увеличивает связь, требуя от пользователя подсистемы обеспечивать потребности этой подсистемы. со ссылкой на статью против внедрения зависимостей . Внедрение зависимостей заставляет класс использовать интерфейс вместо конкретной реализации. Это должно привести к снижению сцепления , нет? …

3
Как правильно отделить интерфейс от логики в приложениях Pyqt / Qt?
Я много читал об этом в прошлом и смотрел некоторые интересные разговоры, подобные этой, от дяди Боба . Тем не менее, я всегда нахожу довольно сложным правильно спроектировать мои настольные приложения и различать, какие должны быть обязанности на стороне пользовательского интерфейса, а какие - на стороне логики . Очень краткое …
20 design  python  mvc  gui  coupling 

5
Почему тип связан с его строителем?
Недавно я удалил свой Java- ответ на Code Review , который начался так: private Person(PersonBuilder builder) { Стоп. Красный флаг. PersonBuilder будет строить Person; это знает о Человеке. Класс Person не должен ничего знать о PersonBuilder - это просто неизменный тип. Вы создали круговую связь здесь, где A зависит от …

4
Программирование на основе событий: когда оно того стоит?
Хорошо, я знаю, что название этого вопроса почти идентично тому, когда я должен использовать программирование на основе событий? но ответы на этот вопрос не помогли мне решить, следует ли мне использовать события в конкретном случае, с которым я сталкиваюсь. Я разрабатываю небольшое приложение. Это простое приложение, и по большей части …

3
Есть ли развязка козыря СУХОЙ в ОТДЫХЕ?
Я строю REST API, чтобы показать большую часть функциональности существующего Java API. Оба API предназначены для внутреннего использования в моей организации; Я не должен проектировать для внешнего использования. Я имею влияние на оба API, но я использую REST. Java API будет по-прежнему использоваться для локальных приложений (он не «удаляется»), но …
19 java  api  rest  coupling  dry 

8
Связывание со строками «более слабое», чем с методами класса?
Я начинаю проект школьной группы на Java, используя Swing. Это простой графический интерфейс для настольного приложения базы данных. Профессор дал нам код из прошлогоднего проекта, чтобы мы могли видеть, как он работает. Мое первоначальное впечатление состоит в том, что код гораздо сложнее, чем должен быть, но я представляю, что программисты …
18 java  coupling 

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

3
Модульное тестирование без привязки к деталям реализации
В своем выступлении TDD, где все это пошло не так , Ян Купер выдвигает первоначальное намерение Кента Бека за модульное тестирование в TDD (для тестирования поведения, а не методов классов в частности) и высказывается за недопущение связи тестов с реализацией. В случае поведения, подобного save X to some data sourceсистеме …

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

3
Кодовая связь введена DRY и OOD
Я ищу руководство по соединению DRY vs Code. Я не люблю дублировать мой код, а также мне не нравится связывание кода между несвязанными модулями. Поэтому я реорганизую дублирующий код, если найду идентично дублирующий код через год после того, как дублирование было введено. Однако я все чаще сталкиваюсь с ситуациями, когда …
14 design  dry  coupling 

5
Как использовать внедрение зависимостей и избежать временной связи?
Предположим, у меня есть тот, Serviceкоторый получает зависимости через конструктор, но также должен быть инициализирован с пользовательскими данными (контекстом), прежде чем их можно будет использовать: public interface IService { void Initialize(Context context); void DoSomething(); void DoOtherThing(); } public class Service : IService { private readonly object dependency1; private readonly object …

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