В CLR есть особенность, что при загрузки сборки через Assembly.Load
или через Assembly.ReflectionOnlyLoad
, загружаются все сборки по мере запроса. В отличии от констант и их типов, они заранее копируются в дочернюю сборку и больше не зависят от родительской сборки. Но в определённых случаях типы констант не копируются в дочернюю сборку и их изменение может сломать работу приложения, несмотря на то, что тип константы не должен этого делать. Эта статья Вам поможет разобраться в каких случаях это может произойти и почему так происходит.
Программист
Модульная архитектура — анализ зависимостей
Как построить диаграмму зависимостей библиотек и посмотреть какие публичные объекты используются в зависимых библиотеках
Бывает есть большие проекты с большим количеством зависимостей и состоящие из нескольких решений, которые вместе собирались через агента билд-сервера. Но как эти зависимости между собой пересекаются и будут-ли они работать если какие-то функции в решении выключены в связи с невостребованностью бизнеса может оставаться загадкой до момента включения.
Так-же, в случае если Common библиотеки собираются в отдельном решении - может быть полезно узнать - а какие публичные объекты из Common библиотек используются в других проектах или часть из этих публичных объектов уже не используется и их можно спокойно удалять или менять уровень видимости.
Модульная архитектура и многоразовый код
Меня всегда интересовала разработка многоразового и целостного кода. Но проблема многоразового кода начинается на этапе переноса в другую инфраструктуру. Если приложение расширяется плагинами, то плагины пишутся под конкретное приложение. А что если вынести логику приложения в плагин (далее — модуль), а интерфейс приложения из управляющего звена превратить в управляемый модулем компонент. На мой взгляд, самая главная задача в подобном сценарии, упростить базовые интерфейсы до минимума и дать возможность переписать или расширить любой фрагмент всей инфраструктуры в отдельности. Если интересно, что вышло из идеи модульного кода, то добро пожаловать под кат.
ASP.NET и сжатие клиентского кода
Изучая такой код иногда можно натолкнуться на интересные вещи. Вот, к примеру, один из кусков комментариев на одном всеми известном сайте:
Information
- Rating
- 2,274-th
- Location
- Исламабад, Пакистан, Пакистан
- Registered
- Activity