阅读下列说明和图,回答问题,将解答填入答题纸的对应栏内。 【说明】社交网络平台(SNS)的主要功能之一是建立在线群组,群组中的成员之间可以互相分享或挖掘兴趣和活动。每个群组包含标题、管理员以及成员列表等信息。社交网络平台的用户可以自行选择加入某个群组。每个群组拥有一个主页,群组内的所有成员都可以查看主页上的内容。如果在群组的主页上发布或更新了信息,群组中的成员会自动接收到发布或更新后的信息。用户可以加入一个群组也可以退出这个群组。用户退出群组后,不会再接收到该群组发布或更新的任何信息。现采用面向对象方法对上述需求进行分析与设计,得到如表3-1所示的类列表和如图3-1所示的类图。 【问题1】(6分)根据说明中的描述,给出图3-1中ClC3所对应的类名。 【问题2】(6分)图3-1中采用了哪一种设计模式?说明该模式的意图及其适用场合。 【问题3】(3分)现在对上述社交网络平台提出了新的需求:一个群体可以作为另外一个群体中的成员,例如群体A加入群体B。那么,群体A中的所有成员就自动成为群体B中的成员。若要实现这个新需求,需要对图3-1进行哪些修改?(以文字方式描述)
【问题1】(6分)答:C1:SNSGroupC2:SNSUserC3:SNSAdmin(C2可以和C3互换位置) 【问题2】 (6分)答:采用了观察者模式。改模式的意图当被观察者发生改变的时候会给观察者发送消息通知,让它们随之发生改变。适用场合一般适用于一个被观察者改变时观察者也随之改变的场合。 【问题3】 (3分)答:可以在SNSSubject下面增加一个被观察者对象,然后它可以在观察者对象这里增加一个加入另外群体的一个方法,以实现接收被观察者发送的通知