تفکیک دغدغهها
From Wikipedia, the free encyclopedia
در علوم رایانه، تفکیک دغدغهها یا جداسازی نگرانیها (Separation of concerns) یک قاعدهی طراحی با روش تفکیک برنامه به بخشهای متمایز است، به گونهای که عملکرد هر بخش، یک دغدغهی متمایز را پاسخ میدهد. دغدغه، مجموعه اطلاعاتی است که کد یک برنامهی کامپیوتری را تحت تأثیر قرار میدهد. این دغدغه ممکن است خیلی کلّی باشد مثلاً جزئیات سخت افزاری که کد برنامه را برای اجرا روی آن بهینه میکنیم، یا دغدغه ممکن است خیلی مشخص و جزئی باشد مثلاً نام کلاسی که از آن اشیاء ساخته میشوند. برنامهای که تفکیک دغدغهها را به کار میگیرد، برنامهی پودمانی یا قطعهای (Modular) میگویند. قطعهبندی یا پودمان (Modularity)، و در نتیجهٔ آن، تفکیک دغدغهها از طریق کپسولهسازی یا بستهبندی (encapsulation) اطلاعات در بخشی از کد که دارای یک رابط (interface) مناسب میباشد، حاصل میشود. کپسولهسازی یک روش نهانسازی یا اخفا اطلاعات است . طراحی لایهای (layered design) در سامانههای اطلاعاتی، نمونهی دیگری از به کارگیری تفکیک دغدغههاست(مثلاً لایهی نمایش یا ارائه (presentation layer) یا لایهی منطق کار (business logic layer) و لایهی دسترسی به داده (data access layer)، لایهی تداوم اطلاعات (persistence layer)
گمان میرود که این مقاله ناقض حق تکثیر باشد، اما بدون داشتن منبع امکان تشخیص قطعی این موضوع وجود ندارد. اگر میتوان نشان داد که این مقاله حق نشر را زیر پا گذاشته است، لطفاً مقاله را در ویکیپدیا:مشکلات حق تکثیر فهرست کنید. اگر مطمئنید که مقاله ناقض حق تکثیر نیست، شواهدی را در این زمینه در همین صفحهٔ بحث فراهم آورید. خواهشمندیم این برچسب را بدون گفتگو برندارید. |
این مقاله نیازمند ویکیسازی است. لطفاً با توجه به راهنمای ویرایش و شیوهنامه، محتوای آن را بهبود بخشید. |
این مقاله نیازمند تمیزکاری است. لطفاً تا جای امکان آنرا از نظر املا، انشا، چیدمان و درستی بهتر کنید، سپس این برچسب را بردارید. محتویات این مقاله ممکن است غیر قابل اعتماد و نادرست یا جانبدارانه باشد یا قوانین حقوق پدیدآورندگان را نقض کرده باشد. |
اهمیت تفکیک دغدغهها در آسانسازی و تسهیل فرایند توسعه و نگهداری و توسعهپذیری برنامههای کامپیوتری میباشد. وقتی دغدغهها به صورت مناست تفکیک شده باشند، هر بخش از برنامه را میتوان به صورت کاملاً جداگانه در برنامهی دیگر مورد استفاده قرار داد و همینطور، آن را توسعه داد و بروز رسانی کرد. یکی از فواید مهم تفکیک دغدغهها این است که میتوان بعد از پایان پروژه، بخشهایی از کد را بدون نیاز به دانستن جزئیات بخشهای دیگر (بخشهای وابسته) و بدون نیاز به اِعمال تغییرات متناظر در بخشهای دیگر، اصلاح کرد یا آنها را بهبود بخشید.[1]