سؤال

وعندما يكون لدي فئة مع عضو الخريطة، وأنا لا أريد أن ألفت كائن فئة / واجهة منفصلة لتمثيل خريطة نفسها، ولكن كنت تفضل لعلاج الخريطة كما لو كان نوع الأصلي، بدلا من كائن معقد.

والنظر في المثال التالي

public class IndexManagerImpl implements IndexManager {
    /* ... */

    private static Map<Searcher, Integer> searcherCache;
}

وأود أن أسلط الضوء على حقيقة أن IndexManagerImpl يحمل (على الرغم من غير مباشرة) ما يشير إلى Searcher الحالات. سيكون أمرا رائعا إذا كان التمثيل ويمكن أيضا أن تظهر المعلمات نوع من searcherCache.

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

المحلول

وA نختلف مع مارتن ... MAP هي بنية البيانات الأساسية التي نتعلمها في أي دورة التخرج الكمبيوتر! ومن exsists في معظم اللغات الحديثة وموردا هاما تصميم للمحللين. يمكن استنباط خريطة كجمعية في بعض الحالات، ولكن نوع من التمديد (النمطية) وستكون هناك حاجة أو يمكنك تحديد فئة قالب. أنا لا أحب النهج قالب - أنه يخفي الجمعيات راجع للشغل اللاعبين الرئيسيين. المصدر الأخير هو AssociationClass، فئة UML الخاصة المستخدمة لتحديد العلاقات nxn مع الصفات، ما أعتقد الدعاوى مشكلتك، حيث حقل "صحيح" هو نوع من أنواع عداد الباحثين المتعلقة indexManager. تذكر أيضا أنه من خلال الرمز الذي لا يمكن رؤية الجانب الآخر من العلاقة، في حين تم تصميم UML لإظهار كلا الجانبين، وقضايا الملاحة وهكذا دواليك.

نصائح أخرى

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

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

ويساعد هذا الأمل ....

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top