نمط الأمر هو أحد الأنماط السلوكية، حيث يتم تغليف الطلب داخل كائن كأمر ويتم تمرير هذا الكائن إلى المستدعي، ثم يبحث المستدعي عن الكائن المناسب الذي يمكنه التعامل مع هذا الأمر ويمرر الأمر إلى الكائن المقابل، ثم ينفذ الكائن الأمر.
هذا أيضًا يتبع المبدأ الثابت لـ OCPلنأخذ مثالاً على سوق الأوراق المالية، حيث يكون السهم طلبًا يجب شراؤه أو بيعه (
command)، يتم تغليف هذا السهم تحت أمر، ثم يتم إرسال هذا الأمر إلى الوسيط (المستدعي) )، يقوم الوسيط بعد ذلك بتحليل الأمر لتحديد ما إذا كان هذا الأمر هو BuyOrder أو SellOrder، وفي النهاية يتم تنفيذ أمر الشراء أو البيع(تنفيذ الأمر/الطلب)
المخزون (طلب)
public class Stock { private String name ; private int quantity; public Stock(String n, int q){ this.name = n; this.quantity = q; } public void sell(){ System.out.println("[Sell order of quantity " quantity " for stock " name " has been performed]"); } public void buy(){ System.out.println("[Buy order of quantity " quantity " for stock " name " has been performed]"); } }الأمر (الطلب مغلف داخل كائن كأمر)
public class Stock { private String name ; private int quantity; public Stock(String n, int q){ this.name = n; this.quantity = q; } public void sell(){ System.out.println("[Sell order of quantity " quantity " for stock " name " has been performed]"); } public void buy(){ System.out.println("[Buy order of quantity " quantity " for stock " name " has been performed]"); } }الأوامر الملموسة
public class Stock { private String name ; private int quantity; public Stock(String n, int q){ this.name = n; this.quantity = q; } public void sell(){ System.out.println("[Sell order of quantity " quantity " for stock " name " has been performed]"); } public void buy(){ System.out.println("[Buy order of quantity " quantity " for stock " name " has been performed]"); } }الوسيط (المستدعي الذي يختار الكائن المناسب الذي يمكنه التعامل مع الأمر/الأمر)
public class Stock { private String name ; private int quantity; public Stock(String n, int q){ this.name = n; this.quantity = q; } public void sell(){ System.out.println("[Sell order of quantity " quantity " for stock " name " has been performed]"); } public void buy(){ System.out.println("[Buy order of quantity " quantity " for stock " name " has been performed]"); } }رئيسي
public class Stock { private String name ; private int quantity; public Stock(String n, int q){ this.name = n; this.quantity = q; } public void sell(){ System.out.println("[Sell order of quantity " quantity " for stock " name " has been performed]"); } public void buy(){ System.out.println("[Buy order of quantity " quantity " for stock " name " has been performed]"); } }الإخراج:
public class Stock { private String name ; private int quantity; public Stock(String n, int q){ this.name = n; this.quantity = q; } public void sell(){ System.out.println("[Sell order of quantity " quantity " for stock " name " has been performed]"); } public void buy(){ System.out.println("[Buy order of quantity " quantity " for stock " name " has been performed]"); } }
النقاط الرئيسية لهذا النمط
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3