الإستراتيجية هي نمط سلوكي في نمط التصميم.
يستخدم Stratrgy على نطاق واسع. .
هنا نأخذ استبدال السلسلة كمثال. قد تكون هناك طرق متعددة لاستبدال المتغيرات فيه ، اعتمادًا على متطلبات المستخدم ، لذلك نحتاج إلى إعداد عدة مجموعات من بدائل الأحرف المتغيرة.
أولاً ، نقوم بإنشاء reptemprule من فئة مجردة لتحديد بعض المتغيرات والأساليب الشائعة:
نسخة الكود كما يلي:
الجمهور التجريدي الفئة reptemprule {
سلسلة محمية oldstring = "" ؛
public void setoldstring (String OldString) {
this.oldstring = oldstring ؛
}
سلسلة محمية Newstring = "" ؛
السلسلة العامة getNewString () {
عودة الأخبار.
}
Public Abstract Void Replace () رمي الاستثناء ؛
}
هناك طريقة تجريدية ملخص في REPTEMPRULE التي يجب أن تكون موروثة بوضوح ، وهذا الاستبدال هو في الواقع طريقة محددة تحل محلها.
لدينا الآن بديلين للشخصية:
1. استبدال AAA في النص مع BBB.
2. استبدل AAA في النص بـ CCC.
الفئات المقابلة هي reptempruleone و reptempruletwo:
نسخة الكود كما يلي:
الطبقة العامة reptempruleone يمتد reptemprule {
باطل عام استبدال () يلقي الاستثناء {
.
system.out.println ("هذا هو استبدال واحد") ؛
}
}
نسخة الكود كما يلي:
الطبقة العامة reptempruletwo يمتد reptemprule {
باطل عام استبدال () يلقي الاستثناء {
Newstring = oldstring.replacefirst ("AAA" ، "CCC")
System.out.println ("هذا هو استبدال اثنين") ؛
}
}
الخطوة 2: نحتاج إلى إنشاء فئة حل الخوارزمية لتزويد العميل بالقدرة على تحديد الخوارزميات بحرية.
نسخة الكود كما يلي:
الطبقة العامة الزواحف {
استراتيجية reptemprule الخاصة ؛
الزواحف العامة (قاعدة reptemprule) {
this.strategy = القاعدة ؛
}
السلسلة العامة getNewContext (موقع الموقع ، String OldString) {
استراتيجية الإرجاع. الاستراتيجية (الموقع ، OldString) ؛
}
public void changealgorithm (reptemprule newalgorithm) {
الاستراتيجية = Newalgorithm ؛
}
}
المكالمة كما يلي:
نسخة الكود كما يلي:
اختبار الفئة العامة {
......
public void testreplace () {
// استخدم المجموعة الأولى من البدائل reptemprulesolve solver = new reptemprulesolve (جديد reptemprulesimple ()) ؛
solver.getNewContext (الموقع ، السياق) ؛
// استخدم المجموعة الثانية من solvers = new reptemprulesolve (new reptempruletwo ()) ؛
solver.getNewContext (الموقع ، السياق) ؛
}
.....
}
لقد حققنا هدف تبديل الخوارزميات بحرية أثناء التشغيل.
في الواقع ، فإن الجزء الأساسي من الاستراتيجية بأكملها هو استخدام الفئات المجردة.
الاستراتيجية والمصنع متشابهة. يركز المصنع على إنشاء كائنات.
الاستراتيجية مناسبة للمناسبات التالية:
1. حفظ الملف بتنسيقات مختلفة ؛
2. ضغط الملفات مع خوارزميات مختلفة ؛
3. اعتراض الصور مع خوارزميات مختلفة.
4. إخراج الرسوم البيانية لنفس البيانات بتنسيقات مختلفة ، مثل المنحنيات أو قضبان الرسم البياني.