سؤال

وأنا أحاول أن جعل لعبة فلاش صغيرة يحتوي على واجهة المستخدم الرسومية، الذي هو في الأساس القائمة حيث يمكن للاعبين اختيار بعض البنود، نوع من مثل الألعاب برج الدفاع.

هل يكون فكرة جيدة لجعل واجهة المستخدم الرسومية عن المفردة؟ لأن من الواضح يمكن أن يكون هناك فقط 1 مثيل من فئة واجهة المستخدم الرسومية.

هل هناك طريقة أفضل؟

هل كانت مفيدة؟

المحلول

في رأيي، ما تبقى من النظام يجب أن لا يعرف عن واجهة المستخدم الرسومية الخاصة بك، لذلك جعله المفرد لا معنى لها. العرض (GUI) يجب ربط نوعا من النماذج لإظهار الحالة الراهنة.

في عام، انها فكرة جيدة لتجنب سنغلتونس تماما.

حسب ملزمة لنموذج I يعني شيء من هذا القبيل:

class MyGUI
{
    ...
    public function set game(g:Game):void {
        g.addEventListener('pointsChanged', function(e:Event):void {
            ptsLabel.text = g.points.toString() + " points";
        })
    }
}

class Game extends EventDispatcher
{
    private var _points:int = 0;

    public function get points():int {
        return _points;
    }

    public function set points(points:int):void {
        _points = points;
        dispatchEvent(new Event('pointsChanged'));
    }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top