وصف وضع المحول
ملاحظة: يكون وضع المحول بشكل عام هو الحالة التي لا تتوافق فيها الواجهة المراد استخدامها مع التطبيق أو النظام ، ولكن يجب تقديمه ؛
المشهد: يبدو الأمر كما لو أننا اشترينا هاتفًا محمولًا ، وبعد شرائه ، وجدنا أن قابس كابل الشحن هو ثلاثة مقابس ، ولكن في المنزل ، لا يوجد سوى سدادتين في المقبس. ماذا يجب أن نفعل؟ للراحة ، ولكي تكون قادرًا على فرض رسوم على أي مكان ، يجب عليك شراء محول شحن عالمي ؛ بحيث يمكن تحميل الهاتف في المنزل ؛ وإلا يمكنك فقط وضعه ، أو الركض إلى مكان مع هذا القابس لشحنه ؛
في بيئة التطوير الفعلية ، نظرًا لأن النظام القديم أو الواجهة التي توفرها تطبيقات الطرف الثالث لا تتطابق مع الواجهة المحددة ، لا يمكن استخدام هذه الواجهات القديمة أو الثالثة في بيئة موجهة نحو الواجهة. في هذا الوقت ، نستخدم فئة المحول لروث الفصول ليتم تكييفها والسماح لفئة المحول بتنفيذ واجهات لإدخال واجهات النظام القديم أو تطبيقات الطرف الثالث ؛
وبهذه الطريقة ، عند استخدام برمجة الواجهة ، يمكنك استخدام فئة المطابقة التكيفية هذه للاتصال بشكل غير مباشر بواجهة النظام القديم أو تطبيق الطرف الثالث.
في JavaScript ، لتنفيذ رمز مشابه لنمط محول اللغة الموجه نحو الكائنات الديناميكية ، يمكنك استخدام مثيلات أولية موروثة لتنفيذها ؛ نظرًا لأنه يعتمد على قيود الواجهة ، لكن JavaScript لا يحتوي على رقم واجهة ، فإننا نقوم بإزالة طبقة الواجهة ونطبق مباشرة هدف فئة تطبيق الواجهة لمحاكاة التعليمات البرمجية المصدرية المماثلة ؛
مثال رمز المصدر
1. الفصول وطرق الواجهة المراد تكييفها:
نسخة الكود كما يلي:
وظيفة appondee () {
this.name = 'Adaptee' ؛
}
Adaptee.prototype.getName = function () {
إرجاع هذا.
}
2. فئة التنفيذ العادية [نظرًا لعدم وجود واجهة في JavaScript ، يتم توفير فئة التنفيذ مباشرة]
نسخة الكود كما يلي:
وظيفة الهدف () {
this.name = 'target' ؛
}
target.prototype.queryname = function () {
إرجاع هذا.
}
3. فئة التكيف:
نسخة الكود كما يلي:
وظيفة adapte () {
this.name = '' ؛
}
adapte.prototype = new Adaptee () ؛
adapte.prototype.queryname = function () {
this.getName () ؛
}
4. كيفية استخدام:
نسخة الكود كما يلي:
var local = new Target () ؛
local.queryName () ؛ // استدعاء فئة التنفيذ العادية
var adapte = جديد adapte () ؛
adapte.queryName () ؛ // استدعاء النظام القديم أو واجهة تطبيق الطرف الثالث ؛
تعليمات أخرى
في الخطوة الرابعة أعلاه ، تشبه Var Local و Var Adapte اللغات الموجهة للكائنات مثل Java و C#، مثل:
نسخة الكود كما يلي:
هدف الواجهة {
السلسلة العامة QueryName () ؛
}
// واجهة مؤشر مرجع
الهدف LOCAL = New REALTARGET () ؛ // أي فئة التنفيذ المستهدفة من JavaScript أعلاه
local.queryName () ؛
//محول
الهدف adapte = جديد adapte () ؛
adapte.queryName () ؛
يمكن ملاحظة أن فئة المحول هي الطبقة الوسيطة التي تربط الواجهة بواجهة الفئة الهدف ؛ يتم استخدامه لحل المشكلة التي يوجد بها الهدف المطلوب بالفعل ، لكن لا يمكننا استخدامها مباشرة ولا يمكننا استخدامها بالتزامن مع تعريف الكود الخاص بنا ، لذلك يتعين علينا استخدام وضع المحول. يسمى وضع المحول أيضًا وضع التحويل ووضع التغليف ؛