JavaRush /وبلاگ جاوا /Random-FA /مزایای استفاده از فنر
Alex
مرحله

مزایای استفاده از فنر

در گروه منتشر شد
بسیاری از توسعه دهندگان تازه کار دیر یا زود با Spring آشنا می شوند که یک چارچوب محبوب برای توسعه برنامه های کاربردی در جاوا است. اصلی‌ترین کاری که Spring به شما اجازه می‌دهد این است که توسعه برنامه‌های J2EE را برای توسعه‌دهنده ساده کنید. در اینجا مهمترین مزایایی است که یک توسعه دهنده هنگام استفاده از Spring دریافت می کند:
مزایای استفاده از فنر - 1
  • Spring چارچوبی برای برنامه آینده شما فراهم می کند، اگر می خواهید یک "خالی" برای برنامه آینده خود داشته باشید. در همان زمان، چارچوب قوانینی را برای ساخت برنامه دیکته می کند - معماری برنامه خاصی وجود دارد که باید عملکرد خود را در آن ایجاد کنید. این قابلیت در واقع منطق تجاری برنامه شما خواهد بود. Spring شامل بسیاری از پروژه های فرعی است که برای عملکردهای خاص طراحی شده اند (SpringMVC، Spring Security، SpringData، و غیره. لیست کامل را می توانید در https://spring.io/projects مشاهده کنید )، که توسعه دهنده می تواند از بین آنها مناسب ترین مورد را برای خود انتخاب کند. از بقیه استفاده نکنید - این یک اصل مدولار برای ساخت یک برنامه است.

  • در یک برنامه کاربردی مبتنی بر Spring، اشیاء با استفاده از تزریق وابستگی به طور آزاد کوپل می شوند. یکی از اهداف بهار این بود که وابستگی برخی از اشیاء به برخی دیگر را قطع کند. اعتیاد چیست؟ این زمانی است که Object1 از متدهای Object2 دیگر استفاده می کند، یعنی Object1 به Object2 بستگی دارد که از متدهای آن استفاده می کند. چرا او وابسته است؟ اما چون تا شیء Object2 ایجاد نشود، Object1 قادر به پیاده سازی عملکرد آن نخواهد بود. چگونه اعتیاد را ترک کنیم؟ "Inject" ارجاع به شی Object2 به شی Object1 از طریق سازنده یا تنظیم کننده. این فرآیند در واقع تزریق وابستگی است. مهم است که به یاد داشته باشید که در Spring، اشیاء باید بر اساس رابط ساخته شوند، به طوری که وابستگی ها در قالب یک رابط برای جایگزینی بعدی احتمالی پیاده سازی تزریق شوند.

  • شما نیازی به ایجاد اشیاء به صورت دستی با استفاده از عملگر جدید ندارید. این تابع به کانتینر Spring محول شده است. این وارونگی کنترل (IoC) است - انتقال عملکرد نمونه سازی وابستگی ها (اشیاء) ضروری به ظرف. نقش توسعه دهنده در تمام این مواردی که می پرسید چیست؟ کامپوننت را طوری اعلام کنید که در متن Spring قرار بگیرد. بافت اسپرینگ، به زبان ساده، نقشه ای است که تمام لوبیاها در آن قرار دارند. وقتی می گویند لوبیا در متن بهار است، در نظر بگیرید که لوبیا در نقشه است و بهار کلید گرفتن آن را از نقشه می داند. هر چیزی که در پیکربندی xml یا در کلاس هایی با حاشیه نویسی @Component به عنوان bean علامت گذاری شده است، نمونه سازی می شود و در نقشه ای به شکل Map<key,bean> map قرار می گیرد. ظرف دارای نقشه ای است که در آن همه دانه ها را "ذخیره" می کند (مفهوم کلیدی در Spring یک لوبیا است، این موجودیتی است که توسط ظرف مدیریت می شود. برای اینکه یک bean (کلاس معمولی) مدیریت شود، باید در قسمت قرار گیرد. متن Spring.) و در صورت لزوم پیاده سازی، کانتینر چیزی شبیه به این انجام می دهد: map.get(key)، کلید نوع فیلد است.

  • بهار شما را نه تنها از نیاز به ایجاد اشیاء، بلکه به مرتبط ساختن آنها نیز رها می کند. به عنوان مثال، حاشیه نویسی @Autowired به شما امکان می دهد تا به طور خودکار اجزا را سیم کشی کنید. حاشیه نویسی @Autowired فنر را می توان به سادگی اینگونه توصیف کرد: دوست عزیز، ظرف فنری، لطفاً به نقشه خود با لوبیا نگاه کنید تا ببینید آیا نمونه کلاس یا ابزارهایی را دارید که من در مقابل آن ایستاده ام. اگر هست لینکی در فیلدی که قبلش اعلام شده ام بدهید. پیوند خودکار به شما امکان می دهد هنگام تعیین وابستگی مؤلفه ها، مقدار کد را کاهش دهید.

  • در Spring تنظیمات bean از کد برنامه جدا می شود. انتقال پیکربندی (مدیریت وابستگی) به یک فایل جداگانه، تغییرات بعدی در پروژه (جایگزینی پیاده سازی ها) را آسان تر می کند:


    • تست پذیری بهبود یافته هنگامی که کلاس ها بر اساس DI و رابط ها طراحی می شوند، می توان به راحتی وابستگی ها (با پیاده سازی های جعلی) را در طول آزمایش جایگزین کرد.

    • توانایی برنامه‌نویسی به سبک اعلانی با استفاده از حاشیه‌نویسی، میزان کد موجود در برنامه را کاهش می‌دهد.

    • پشتیبانی و ادغام خوب با فناوری های دسترسی به داده ها، تراکنش ها، AOP توسعه را ساده می کند.

    • اسناد خوب به هنگام اشکال زدایی یک برنامه کمک زیادی می کند.
برای کسانی که می خواهند بهار را درک کنند، خواندن K. Walls را توصیه می کنم. Spring in Action - 3rd Edition و البته مستندات رسمی.
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION