Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 17236|Відповідь: 0

[Зв'язок] Ін'єкція залежності, які переваги її використання?

[Копіювати посилання]
Опубліковано 10.02.2019 18:14:29 | | |
По-перше, створення споріднених об'єктів класів дійсно може здійснюватися новими об'єктами. Однак, коли проєкт занадто великий і об'єкт має забагато залежностей, потрібно писати багато нового коду при створенні об'єкта, і може бути метод прямого виклику об'єкта після забуття інстанції деяких залежних об'єктів, тоді з'явиться виняток нульового вказівника. Якщо цей процес залишити на управління контейнером, нам не доведеться турбуватися про створення об'єктів, і при використанні залежних об'єктів не буде жодних винятків null pointer, а код можна спростити.
По-друге, атрибути, які використовуються в процесі виклику методу, можуть бути атрибутами екземпляра, якщо всі вони визначені як статичні, то що щодо даних, що використовуються в методі? Якщо ви визначаєте всі методи як статичні, то властивості класу, на який посилається метод, також мають бути визначені як статичні, що еквівалентно глобальним атрибутам, тому обов'язково виникнуть проблеми синхронізації даних.
Насправді логічно замислитися над принципами програмування, викладеними в шаблоні проєктування, які всі спрямовані на створення високочитабельного, легкого в підтримці та масштабованого коду. З найкращими побажаннями!

Зручно збирати програмне забезпечення у вигляді будівельних блоків, а також створювати програмне забезпечення з високою когезією та низькою взаємодією (вилучення залежностей із коду)
Спільна розробка, налагодження коду (не потрібно інтегрувати компоненти разом, їх можна протестувати окремо), і створений код є більш надійним.

Розробка проєкту приділяє увагу високому когезійному та низькому зв'язку, а використання ін'єкції залежностей дозволяє уникнути використання нової області ключових слів для створення об'єктів, зменшуючи таким чином зв'язок між класами






Попередній:c# Marshal.PtrToStructure
Наступний:Шифрування, дешифрування та асемблерна мова
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com