Преимущества статического подключения

Насколько я понимаю, у нас есть приложение с компонентами и приложение с магазином. Мы используем другую библиотеку реагировать на редукцию, чтобы связать приложение реакции и приложение редукса. React-redux помогает использовать состояние избыточного хранилища в реагирующем компоненте и помогает распределять действия по избыточному хранилищу из реагирующего компонента.

Для обработки асинхронных операций используются библиотеки, такие как Redux-thunk, и в зависимости от результата асинхронной операции эти библиотеки отправляют действие.

Ответ на ваш вопрос : React не знает, какое действие было отправлено в хранилище Redux, поскольку оно обрабатывается промежуточным ПО thunk. Но, используя React-redux, React может узнать текущее состояние хранилища Redux после того, как действие было отправлено промежуточным программным обеспечением thunk. Так что я думаю, что вы должны пойти со вторым вариантом. Первый вариант может быть возможен, но он потребует много взлома, чем просто использование первого.

10
задан Mike B 12 January 2009 в 15:45
поделиться

3 ответа

Я не уверен, является ли статическое подключение действительно хорошей идеей в C# честно говоря, по миллиону причин. Одна причина состоит в том, что, в противоположность языкам как C или C++, C# имеет понятие блоков, которые являются в основном исполняемыми файлами или DLLs.

Теперь, если Вы хотите вещи ссылки статически в.NET, Вы также

  • Классы слияния от нескольких блоков в единственный блок. Это повредило бы много вещей, как "внутренний" модификатор доступа.
  • Имейте больше чем один блок в том же исполняемом файле. Это представило бы целое понятие блоков, бесполезных, хотя, и потребует для перепроектирования подхода к отражению в Платформе.NET.

Я уверен, что существует умный способ избежать этих проблем, но я не вполне вижу точку статичного соединения в управляемой среде как.NET или Java. Я имею в виду, статически связывание действительно улучшает производительность, но не ТАК очень. И мы не используем управляемые языки для их скорости выполнения так или иначе.

Другой проблемой является DLL черт, но в.NET, это - в значительной степени решенная проблема так или иначе.

6
ответ дан 3 December 2019 в 16:11
поделиться

Преимущество статического подключения состоит в том, что оно удаляет внешнюю зависимость от библиотек - т.е. поведение библиотеки, которой Вы, никогда пользуетесь не собирается изменяться, потому что кто-то изменил libraryon диск. Это - также один из недостатков статического подключения; если изменения ОС и новая версия библиотеки необходимы для работы с ним правильно, необходимо обеспечить обновленную версию двоичного файла. Так же, если bugfix добавляется к библиотеке, Вы автоматически не получаете то исправление ошибки, если Вы статически связались.

Большинство (на самом деле, вероятно, все эти дни) операционные системы могут загрузить одну копию динамической библиотеки для нескольких процессов, которая является, почему на UNIX их называют общими объектами.

9
ответ дан 3 December 2019 в 16:11
поделиться

Статически исполняемый содержит все объекты, что этому не нужен так никакой внешний DLL, будет назван при выполнении. advantaje, это, является портативным через большое количество платформ, какая версия DLLs были установлены в той системе. БОЛЬШОЙ недостаток - то, что Вы - вероятное опустошительное дисковое пространство, так как Вы включаете в свой исполняемый код, который уже присутствует в системе DLLs / внешний DLLs. Кроме того, я думаю, но я не очень уверен, что DLLs загружаются в оперативной памяти только однажды, неважно, сколько исполняемых файлов использует их, но если Вы связываете статически объекты библиотеки в своем исполняемом файле, Вы загружаете тот же код дважды (один для DLL, используемого остальной частью программ и один для Вашего исполняемого файла). С другой стороны, это могло быть преимуществом вместо этого disatvadvantage, так как исполняемый файл содержит только объекты внешних библиотек, в которых он нуждается, не целая библиотека. DLL загружается в памяти в целом, когда для приложения нужен он.

Статическое подключение идеально для компиляции небольших приложений, которые Вы хотите нести от одной системы до другого как мелкий инструмент. Т.е. для меня было действительно полезно иметь статически скомпилированную версию tcpdump, когда это не было включено в каждый дистрибутив Linux. Это было обязано работать над каждым Linux независимо от того, что имела версия Ядра, glibc или других системных библиотек. Возможно, это не имеет такого смысла в мире Windows, так как платформы являются намного более гомогенными. Если Вы скомпилируете для Windows XP / СЕТЬ vX.X, то это будет работать через большое количество компьютеров. При компиляции чего-то для Debian X.X, он не будет, конечно, работать над более старым/более новым Debians или другими дистрибутивами, такими как Redhat.

Этот поток может также решить Ваши вопросы.

7
ответ дан 3 December 2019 в 16:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: