در قسمت قبلی در رابطه با interface ها و اینکه چگونه ایجادشان کنیم صحبت کردیم. حالا اجازه بدین در رابطه با اینکه چرا و به چه دلایلی از interface ها استفاده می کنیم صحبت کنیم.


موارد استفاده اينترفيس ها - Interface Usage

همانطور که قبلا هم اشاره شد و از کلمه inteface بر می آید در واقع اینترفيس ها یک واسط یا قرارداد هستند. اما برای اینکه راحت تر دلایل استفاده از آن ها را در زبان برنامه نویسی سی شارپ و دنیای شي گرایی متوجه بشیم من سه دلیل برای استفاده از اینترفیس ها بیان می کنم:



  1. اینترفیس ها به عنوان استاندارد - Interface as Standard
  2. اینترفیس ها به عنوان سرویس - Interface as Service
  3. اینترفیس ها برای حل مشکل توارث چندگانه - Interface for Multiple Inheritance



اینترفيس ها به عنوان استاندارد - Interface as Standard
فرض بفرمائید که شما قصد تهیه یک Total System یا یک مجموعه نرم افزار یکپارچه را دارید. در این مجموعه نرم افزار Entity ها بسياری وجود دارند و در فاز تحلیل و طراحی نسبت به شناخت و طراحی آن ها اقدام کرده اید. وظيفه اجراي هر یک از این SubSystem ها توسط یک گروه از افراد در سازمان شما می باشد.

حالا موجودیتی مثل افراد (Person) را در نظر بگیرید که در تمامی زیر سيستم های شما وجود دارد و فقط با جزئیات مختلف نمود پیدا می کند. مثلا در زیر سيستم حسابداری به عنوان مشتری با اطلاعات خاص مشتري ها , در سيستم پرسنلی به عنوان کارمند با اطلاعات خاص هر کارمند و ....

نکته اینجاست که اگر قرار باشد این موجودیت ها بین زیر سیستم های این نرم افزار یکپارچه قابلیت تبادل داشته باشند باید یک استاندارد خاص در نظر گرفته شود که تمام این موجودیت های به نحوی به آن قابل تبدیل باشند. پس در این حالت یک inteface با تمامی اطلاعات مشترکي که موجودیت انسان در تمام این زیر سيستم ها دارد در نظر گرفته می شود و تمامی زير سيستم ها موظف به پیاده سازی آن توسط کلاس های خاص خود می شوند. و در صورتیکه لازم باشد یک موجود از این زير سيستم به زيرسيستم دیگر ارجاء شود به راحتی به IPerson تبدیل شده و در زير سيستم بعدی به عنوان يک IPerson دریافت و تبدیل می شود.




البته این روش نه تنها در سي شارپ بلکه در جاهای دیگر نيز استفاده دارد. به عنوان مثال وقتی قرار به استفاده از تکنولوژی Bluetooth شد 5 شرکت پيشتاز این تکنولوژی یعنی Microsoft , Ericsson و سه شرکت دیگر برای استاندارد سازی این تکنولوژی سميناري تشکیل دادند و توافق نامه ای امضاء کردند که طبق آن تمامی شرکت ها موظف به توليد محصولاتي با رعايت یکسری استاندارد شدند و البته همه آن ها می توانستند برای توسعه اين تکنولوژی اقدام کنند. در نتيجه تمامي محصولاتي که اين شرايط را رعايت کنند مي توانند با يکديگر ارتباط داشته باشند.


ادامه دارد...