آموزش های متنوع دیگر

wrapper در برنامه نویسی چیست؟ همه نکات کاربردی

در یک زمینه نرم افزاری، اصطلاح wrapper به برنامه ها یا کدهایی گفته می شود که دربرگیرنده سایر اجزای برنامه هستند.wrapper چندین عملکرد مختلف دارد. اغلب از آن برای اطمینان از سازگاری یا قابلیت همکاری بین ساختارهای مختلف نرم افزار استفاده می شود. همچنین می توان از آن در HTML یا CSS استفاده کرد. Wrapper ها همان اجزای نرم افزاری منفرد، محصولات نرم افزاری مستقل، معماری نرم افزار، کلاس های برنامه نویسی شی گرا یا چارچوب ها هستند. آموزش جنگو را حتما ببینید.

اگر می خواهید از توابع یا بلوک های کد زبان برنامه نویسی دیگری در داخل یک برنامه استفاده کنید، می توانید آنها را با استفاده از یکWrapper کپسوله سازی کنید. برنامه اصلی منحصرا باWrapper ، که دستورات را به برنامه Wrap شده ارسال می کند و نتایج را برمی گرداند ارتباط برقرار می کند. خود wrapper تنها جزئی است که مستقیماً با هر دو قسمت برنامه ارتباط برقرار می کند.

بهترین سایت برای یادگیری زبان برنامه نویسی

از wrapper ها می توان به طرق مختلف در برنامه نویسی و توسعه نرم افزار استفاده کرد. مثالهای زیر نحوه کارکردنwrapper ها و وظایف مختلفی که انجام می دهند را نشان می دهد.

فهرست مطالب

wrapper ها به عنوان مترجم ورودی کاربر

wrapper ها برای دسترسی به پایگاه داده

wrapper ها در برنامه نویسی شی گرا

wrapper ها برای طراحی اسناد HTML

wrapper های TCP در سیستم های لینوکس

wrapper ها به عنوان مترجم ورودی کاربر

فرم های موجود در برنامه ها یا اپلیکیشن های وب انتظار ورودی را دارند که برنامه می تواند پردازش کند. برنامه های توسعه یافته در بسیاری از کشورهای اروپایی انتظار دارند که اعداد به جای علامت اعشاری، با کاما و ابعاد بر حسب متر و سانتی متر وارد شوند. وقتی ورودی کاربر با ورودی های پیش فرض تطبیق نداشته باشند باید انتظار نتایج نادرست یا حتی خطا را داشته باشیم.

یک wrapper می تواند این مشکل را حل کند. فرم ورودی، ورودی را به جای اینکه مستقیماً به برنامه خارجی وارد کند به داخل wrapper هدایت می کند. wrapper ورودی ها را تجزیه و تحلیل کرده و آنها را به ورودی های معتبر برای برنامه خارجی – بدون نیاز به تغییر برنامه- ترجمه یا برگردان می کند.

wrapper ها برای دسترسی به پایگاه داده

از پایگاه داده وندرهای مختلف نمی توان با هم استفاده کرد زیرا جداول داده ها، پس و جو ها یا زبان های پرس و جوی آنها با یکدیگر سازگار نیستند. در اینجا نیز یک wrapper می تواند راه حل باشد. wrapper، ناسازگاری بین رابط های نرم افزاری مختلف را شناسایی کرده شکاف بین آنها را پر می کند.

(JDBC) Java Database Connectivity، رابط پایگاه دادهOracle و یک نمونه معمولی از یک wrapper است. رپر JDBC به پایگاه های داده مختلف دسترسی پیدا کرده و با استفاده از درایورهای ویژه پایگاه های داده مختلف را به هم متصل می کند. پرس و جوهای SQL منحصراً به JDBC هدایت می شوند، نه به پایگاه های داده. JDBC با برگرداندن نتایج سازگار با جاوا، پرس و جوها را به زبان پر و جوی پایگاه داده تبدیل می کند. بر این اساس، برنامه درخواست کننده، صرف نظر از پایگاه داده مورد استفاده، داده ها را در یک فرم یکنواخت دریافت می کند.

wrapper ها در برنامه نویسی شی گرا

برنامه نویسی شی گرا از الگوهای ساختاری مختلفی استفاده می کند که اساسا بدون توجه به زبان برنامه نویسی مورد استفاده، همیشه به یک شکل کار می کنند. الگوهای طراحی آداپتور و دکوراتور الگوهای ساختاری هستند که به آنها wrapper نیز گفته می شود.

یک آداپتور، رابط های ناسازگار بین کلاس های جداگانه را پنهان می کند. یک آداپتور با ترجمه یک رابط به رابط دیگر، به کلاسها اجازه می دهد تا با یکدیگر ارتباط برقرار کنند. این امر به ویژه زمانیکه بخواهید از کلاسها یا کل کتابخانه های کلاس در پروژه های جدید استفاده کنید بسیار مهم است. این کتابخانه ها از رابط های استاندارد و منحصر به فردی استفاده می کنند که ممکن است تغییر نکنند زیرا باید برای تعداد زیادی از برنامه ها قابل استفاده باشند. wrapper – در این مورد آداپتور – حلقه مهم ارتباطات است.

شغل برنامه نویسی در آمریکا (همه نکات مهم)

یک دکوراتور امکان اضافه کردن توابع به یک کلاس را بدون تغییر خود کلاس فراهم می کند. دکوراتور به عنوان wrapper ، فراخوان ها را به کلاس منتقل می کند. دکوراتور مستقیماً توابع جدیدی را که در کلاس گنجانده نشده اند اداره می کند و نتایج را به گونه ای برمی گرداند که برای شی فراخوانده شده مانند نتایج کلاس decorated به نظر برسند.

wrapper ها برای طراحی اسناد HTML

از wrapper ها اغلب برای (طراحی مجدد) وب سایت ها در HTML و CSS استفاده می شود. بدون wrapper، پس از انجام تنظیمات جداگانه مانند تغییر در حاشیه صفحه پنجره مرورگر، باید چندین stylesheet را تغییر دهید و مطمئن شوید که تغییرات در کنار هم قرار می گیرند.

روش ساده تر، استفاده ازDIV به عنوان wrapper است.DIV بعنوان یک ظرف عمل می کند و کل محتوای صفحه را در خود جای می دهد.

1 <html>

2 <head<

3 …

4 </head>

5 <body>

6 <div class=”wrapper”>

7 …

8 </div>

9 </body>

10 </html>

محتوای واقعی صفحه درون این ظرف wrapper محصور شده است.

wrapper به عنوان یک stylesheet در پرونده CSS مرتبط تعریف می شود:

1 body {

2 margin: 0;

3 padding: 0

4 }

5 .wrapper {

6 width: 500px;

7 margin: 25px auto;

8 }

در این مثال، عرض 500 پیکسل به ظرف اختصاص داده شده است. حاشیه ها در بالا و پایین با استفاده از پارامتر margin تعریف می شوند و روی 25 پیکسل تنظیم شده اند. حاشیه چپ و راست به طور خودکار از عرض پنجره مرورگر و عرض ظرف بدست می آید.

با تغییر wrapper، می توانید حاشیه صفحه را بدون ایجاد تغییرات بیشتر در کد HTML یا CSS به راحتی تنظیم کنید.

wrapper های TCP در سیستم های لینوکس

سرویس پس زمینه inetd در لینوکس و سایر سیستم عامل های مبتنی بر UNIX به عنوان رپرTCP اجرا می شود. Inetd به سوکت های شبکه گوش می دهد و درخواست های اتصال را می پذیرد. یک فایل پیکربندی مشخص می کند به کدام درگاه ها گوش داده شود. درخواست ها ارزیابی شده و سرویس inetd مشخص شده شروع به کار می کند. در بیشتر موارد، این برنامه ها دیمن هایی هستند که در پس زمینه اجرا می شوند.

اگر اتصال قطع شود،inetd به طور خودکار سرویس را متوقف می کند. شروع خدمات در صورت وجود تقاضا در مقایسه با شروع خودکار سرویس های شبکه بار قابل توجهی از منابع سیستم را کاهش می دهد که ممکن است اصلاً نیازی به آن نباشد. inetd به عنوان رپری عمل می کند که درخواست های شبکه را از همه برنامه ها بدون ارتباط مستقیم با سرویس های جداگانه دریافت می کند.

کلاس در برنامه نویسی چیست؟ (راهنمای مبتدیان)

همچنین می توان از رپرهای TCP برای جلوگیری از دسترسی ناخواسته از یک شبکه استفاده کرد. رپر TCP توسط inetd یا نرم افزار سرور مورد جستجو قرار می گیرد. میزبان ها و رایانه های مجاز و رد شده در فایل ها /etc/hosts.allow و /etc/hosts.deny وارد می شوند.

میلاد حیدری

کتاب بخون، بخند و خوب باش تا همه مون در آرامش باشیم... سالهاست در زمینه آموزش رایگان در زمینه های اینترنت، کامپیوتر و دنیای تکنولوژی فعالیت می کنم و هدفم ارتقای سطح علمی هموطنان عزیز در سراسر دنیاست. سوالات خود را مطرح کنید در حد توان پاسخ خواهم داد...

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا