JavaRush /Блоги Java /Random-TG /Манфиатҳои истифодаи баҳор
Alex
Сатҳи

Манфиатҳои истифодаи баҳор

Дар гурӯҳ нашр шудааст
Бисёре аз таҳиягарони навкор дер ё зуд бо Spring , як чаҳорчӯбаи маъмул барои таҳияи барномаҳо дар Java дучор меоянд. Чизи асосие, ки Spring ба шумо имкон медиҳад, ин содда кардани таҳияи барномаҳои J2EE барои таҳиякунанда мебошад. Инҳоянд бартариҳои асосии таҳиягар ҳангоми истифодаи Spring:
Манфиатҳои истифодаи баҳор - 1
  • Баҳор барои барномаи ояндаи шумо чаҳорчӯба фароҳам меорад, агар шумо хоҳед, ки барои барномаи ояндаи худ "холӣ" дошта бошед. Дар айни замон, чаҳорчӯба қоидаҳои сохтани барномаро ба шумо дикта мекунад - як меъмории муайяни барнома мавҷуд аст, ки шумо бояд функсияҳои худро созед. Ин функсия воқеан мантиқи тиҷоратии барномаи шумо хоҳад буд. Баҳор зерлоиҳаҳои зиёдеро дар бар мегирад, ки ба функсияҳои мушаххас мутобиқ карда шудаанд (SpringMVC, Spring Security, SpringData ва ғайра. Рӯйхати пурраро дар https://spring.io/projects дидан мумкин аст ), ки таҳиякунанда метавонад яке аз онҳо барои худ мувофиқтаринро интихоб кунад ва боқимондаро истифода набаред - ин принсипи модулии сохтани барнома аст;

  • Дар замимаи баҳорӣ, an objectҳо тавассути истифодаи тазриқи вобастагӣ ба таври озод пайваст карда мешаванд. Яке аз ҳадафҳои Баҳор барҳам додани вобастагии баъзе an objectҳо аз дигарҳо буд. Нашъамандӣ чист? Ин вақтест, ки Объект1 усулҳои Объекти2-и дигарро истифода мебарад, яъне Объект1 аз Объект2, ки усулҳояшро истифода мебарад, вобаста аст. Чаро ӯ вобаста аст? Аммо азбаски то он даме, ки an objectи Object2 сохта нашавад, Object1 функсияи худро амалӣ карда наметавонад. Чӣ тавр нашъамандиро шикастан мумкин аст? Тавассути созанда ё танзимкунанда истинод ба an objectи Object2-ро ба an objectи Object1 "Инъекция" кунед. Ин раванд воқеан тазриқи вобастагӣ аст. Дар хотир доштан муҳим аст, ки дар фасли баҳор an objectҳо бояд дар асоси интерфейсҳо сохта шаванд, то вобастагӣ дар шакли интерфейс барои иваз кардани минбаъдаи имконпазири татбиқ ворид карда шаванд.

  • ба шумо лозим нест, ки an objectҳоро бо истифода аз оператори нав дастӣ созед. Ин вазифа ба контейнери баҳор вогузор шудааст. Ин инversionи назорат (IoC) - интиқол додани функсияи эҷоди вобастагии зарурӣ (an objectҳо) ба контейнер мебошад. Нақши таҳиякунанда дар ҳамаи ин, ки шумо мепурсед, чӣ гуна аст? Компонентро эълон кунед, то он ба контексти баҳор афтад. Контексти баҳор, ба таври оддӣ гӯем, харитаест, ки дар он ҳама лӯбиёҳо ҷойгир шудаанд. Вақте мегӯянд, ки лубиё дар заминаи Баҳор аст, ба назар гиред, ки лубиё дар харита аст ва Баҳор калиди аз харита гирифтани онро медонад. Ҳама чизе, ки дар конфигуратсияи xml ё дар синфҳо бо шарҳҳои @Component ҳамчун лӯбиё қайд карда мешавад, дар харитаи шакли Map<key,bean> ҷойгир карда мешавад, яъне. контейнер дорои харитаест, ки дар он тамоми лӯбиёҳоро "нигаҳ медорад" (мафҳуми калидӣ дар Баҳор лӯбиё аст, ин an objectест, ки аз ҷониби контейнер идора карда мешавад. Барои он ки лӯбиё (синфи оддӣ) идора шавад, он бояд ба қуттии Контексти баҳорӣ.) ва агар лозим бошад, татбиқ, контейнер чунин корҳоро иҷро мекунад: map.get(key), калид навъи майдон аст;

  • Баҳор шуморо на танҳо аз эҳтиёҷоти эҷоди an objectҳо, балки аз пайвастани онҳо низ озод мекунад. Масалан, шарҳи @Autowired ба шумо имкон медиҳад, ки ҷузъҳоро ба таври худкор сим кунед. Шарҳи баҳори @Autowired-ро метавон ба таври оддӣ чунин тавсиф кард: дӯсти азиз, контейнери баҳорӣ, лутфан ба харитаи худ бо лӯбиё назар андозед, то бубинед, ки оё шумо намунаи синф ё асбобҳои он чизеро, ки ман дар пеш истодаам, доред. Агар вуҷуд дошта бошад, ба ман пайвандеро дар соҳае диҳед, ки ман пеш аз он эълон шудаам. Пайвасткунии худкор ба шумо имкон медиҳад, ки ҳангоми муайян кардани вобастагии ҷузъҳо миқдори codeро кам кунед;

  • Дар фасли баҳор, танзимоти лӯбиё аз рамзи барнома ҷудо карда мешаванд. Гузаронидани конфигуратсия (идоракунии вобастагӣ) ба файли алоҳида тағироти минбаъдаи лоиҳаро осонтар мекунад (иваз кардани татбиқҳо):


    • санҷиши беҳтаршуда. Вақте ки синфҳо дар асоси DI ва интерфейсҳо тарҳрезӣ мешаванд, ҳангоми санҷиш ба осонӣ иваз кардани вобастагӣ (бо татбиқи қалбакӣ) имконпазир мегардад;

    • қобorяти барномасозӣ бо услуби декларативӣ бо истифода аз шарҳҳо миқдори codeро дар барнома кам мекунад;

    • дастгирӣ ва ҳамгироии хуб бо технологияҳои дастрасии додаҳо, транзаксияҳо, AOP рушдро осон мекунад;

    • ҳуҷҷатҳои хуб ҳангоми ислоҳи барнома бисёр кӯмак мекунанд;
Барои онҳое, ки мехоҳанд Баҳорро фаҳманд, ман тавсия медиҳам, ки деворҳои К. Баҳор дар амал - Нашри 3-юм ва албатта ҳуҷҷатҳои расмӣ.
Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION