Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 17236|Отговор: 0

[Комуникация] Инжекция при зависимост, какви са ползите от използването ѝ?

[Копирай линк]
Публикувано в 10.02.2019 г. 18:14:29 ч. | | |
Първо, създаването на свързани обекти на класове наистина може да се осъществи от нови. Въпреки това, когато проектът е твърде голям и обектът има твърде много зависимости, трябва да напишем много нов код при изграждането му, и може да има метод за директно извикване на обекта след забравяне да се инстанцират някои зависими обекти, тогава ще има изключение за null pointer. Ако този процес бъде оставен на управлението на контейнера, не трябва да се притесняваме за инстанциация на обекти, няма да има изключения от null pointer при използване на зависими обекти по всяко време, а кодът може да бъде опростен.
Второ, атрибутите, използвани в процеса на извикване на метод, могат да бъдат атрибути на екземпляра, ако всички са дефинирани като статични, какво да кажем за данните, използвани в метода? Ако дефинирате всички методи като статични, тогава свойствата на класа, посочен в метода, също трябва да бъдат дефинирани като статични, което е еквивалентно на глобалните атрибути, така че със сигурност ще има проблеми със синхронизацията на данните.
Всъщност има смисъл да се помисли за програмните принципи, заложени в дизайн шаблона, всички насочени към изграждане на високо четлив, лесен за поддръжка и мащабируем код. Най-добри пожелания!

Удобно е да се сглобява софтуер като градивни блокове, както и да се създава софтуер с висока кохезия и ниска свързаност (извличане на зависимости от кода)
Съвместна разработка, дебъгване на код (няма нужда да се интегрират компоненти заедно, те могат да се тестват отделно), а създаденият код е по-стабилен.

Разработването на проекти обръща внимание на висока кохезия и ниска свързаност, а използването на инжекция на зависимости може да избегне използването на новата ключова дума за създаване на обекти, като по този начин намалява връзката между класовете






Предишен:c# Marshal.PtrToStructure
Следващ:Криптиране, декриптиране и асемблерен език
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com