鸭子的多模式的类图
2016-06-23 10:39:57 0 举报
鸭子的多模式类图展示了鸭子的不同行为和特征。该类图包括了鸭子的基本属性,如颜色、大小、体重等,以及鸭子的不同行为,如游泳、飞翔、觅食等。此外,该类图还包括了鸭子的不同品种,如白鸭、野鸭、家鸭等。这些不同品种的鸭子在颜色、体型、习性等方面存在差异。通过这个多模式的类图,我们可以更好地了解鸭子的多样性和复杂性。
作者其他创作
大纲/内容
AbstractQuackFactory
+ createRedHeadCounter:Quackable+ createOtherCounter:Quackable
Observer
+ update(QuackObservable):void
return new QuackCounter(new RedHeadDuck());
1、左边的类图太复杂了。。。单独抽出来2、每一个具体的Quack类里面将行为都交给QuackObservable实例来做。注意当具体的Quackable是一个Flock的时候,在register的时候,需要使用迭代器,给每一个Quack都注册一下。至于它自己是否要持有观察者对象,这个就仁者见仁了
QuackObservable
- observerList:ArrayList
+ register(Observer)+ notify()+ remove()
count++;quackable.quack();
Quackable
+ quack():void
+ register(Observer)+ notify()+ remove()+ quack()
GooseAdpter
- goose:Goose
QuackFactory
Goose
+ hunk():void
RedHeadDuck
ConcreteQuack
+ quackObservable
QuackCounter
+ quackable:Quackable+ count:int|static
+ getTimes():int|static+ quack():void
quack里面使用了迭代器模式依次去调用所有子节点
Flock
- quackableList:ArrayList
+ add(Quackable):void+ remove(Quackable):void+ quack():void
0 条评论
下一页