设计模式类图
2025-05-14 17:30:36 0 举报
设计模式类图是用于可视化地描述系统中类的设计和它们之间关系的一种图示。在这些类图中,通常会展示类的属性、方法,以及类之间的各种关系,例如继承(泛化)、关联、依赖和实现接口等。设计模式是一种蓝图,用于解决特定类型的问题,通过将类和对象组织成可以重用的形式。例如,常用的“单例模式”会有一个类,这个类保证一个全局访问点,同时确保只有一个实例存在,类图将展示私有构造函数、一个公共的全局访问方法以及这个类持有的唯一实例。修饰语通常用来描述类和关系的属性,比如访问修饰符(public、protected、private)和继承类型(abstract、final)。
作者其他创作
大纲/内容
<<abstract>>GameObject
+ render(): void+ add(GameObject obj): void+ remove(GameObject obj): void+ calculateBoundingSphere(): BoundingSphere+ optimize(): void
MenuItem
- name: String- description: String- price: double
<<abstract>>PlayerContainer
+ getIterator(): PlayerIterator
<<abstract>>TextDecorator
# component: TextComponent
+ TextDecorator(TextComponent component)+ render(): String
聚合
Player
- name: String- level: int
<<abstract>>BookCatalog
+ createIterator(): BookIterator
继承
<<interface>>USDevice
+ run(): void
Client
依赖
children
<<abstract>>PlayerIterator
+ hasNext(): boolean+ next(): Player
Timer
- delay: final int- task: final Runnable- triggerTime: long- isRunning: boolean
InsertCommand
- doc: Document- pos: int- text: String
Light
- isOn = false: boolean
+ on(): void+ off(): void+ isOn(): boolean
ConcretePlayerIterator
- players: List<Player>- pos: int = 0
+ ConcretePlayerIterator(List<Player> players)+ hasNext(): boolean+ next(): Player
BookArrayIterator
- books: Book[]- pos: int = 0- size: int
OfficeComputerBuilder
- cpu: String- ram: String- storage: String- gpu: String
+ setCPU(String cpu): void+ setRAM(String ram): void+ setStorage(String storage): void+ setGPU(String gpu): void+ build(): Computer
Flock
- members: List<Brid>
+ addMember(brid: Brid)+ removeMember(brid :Brid)
BoundingSphere
- x: final float- y: final float- z: final float- radius: final float
RemoteControl
- command: Command- lastCommand: Command
+ setCommand(Command command): void+ pressButton(): void+ pressUndo(): void
TimerManager<<Singleton>>
- instance: static volatile TimerManager- timers: final List<Timer>
ImageToPDFConverterFactory
+ createConverter(): Converter
- name: String- x: float- y: float- z: float- enabled: boolean
PDFToWordConverter
+ convert(): void
PaymentAdapter
- payment: ThirdDollarPayment- EXCHANGE_RATE: static final double
+ PaymentAdapter(ThirdDollarPayment payment)+ payInEuros(double amount): void
SceneGroup
- name: String- children: List<GameObject>- visible: boolean
+ SceneGroup(String name)+ isVisible(): boolean+ render(): void+ add(GameObject obj): void+ remove(GameObject obj): void+ calculateBoundingSphere(): BoundingSphere+ optimize(): void
TextEditor
- document = new Document(): Document- history = new Stack<>(): Stack<TextCommand>- redoStack = new Stack<>(): Stack<TextCommand>
+ getDocument(): Document+ executeCommand(TextCommand cmd): void+ undo(): void+ redo(): void
ThirdDollarPayment
+ payInDollars(double amount): void
Brid
- featherCovering: boolean- keratinBeak: boolean
+ eggLaying()
<<interface>>EuroPaymentSystem
+ payInEuros(double amount): void
Document
- content = new StringBuilder(): StringBuilder
AirCondCommand
- airCond: AirConditioner- newTemp: int- prevTemp: int
ItalicDecorator
+ ItalicDecorator(TextComponent component)+ render(): String
BookCollection
- books: Book[]- count: int = 0
+ BookCollection(int capacity)+ addBook(Book book): void+ createIterator(): BookIterator
ReverseEncryption
+ ReverseEncryption(Encryption component)+ encrypt(String data): String
<<abstract>>TextComponent
+ render(): String
Cube
- name: String- x: float- y: float- z: float- size: float- visible: boolean
EncryptionDecorator
# component: Encryption
+ EncryptionDecorator(Encryption component)+ encrypt(String data): String
泛化
<<abstract>>Command
+ execute(): void+ undo(): void
PlayerList
- players: List<Player> = new ArrayList<>()
+ addPlayer(Player player): void+ getIterator(): PlayerIterator
ModuloEncryption
- key: final int
BoldDecorator
+ BoldDecorator(TextComponent component)+ render(): String
VoltageAdapter
- convert220To110(): int+ run(): void
Fly<<interface>>
+ fly()
关联
<<abstract>>Encryption
+ encrypt(String data): String
Director
+ constructComputer(ComputerBuilder builder): Computer
Climate
- temperature: float- rainfall: float
<<abstract>>BookIterator
+ hasNext(): boolean+ next(): Book
<<interface>>ComputerBuilder
实现
<<interface>>ConverterFactory
Animal
+ metabolize()+ reproduce()
Goose
+ fly(): \"V形飞行\"
BaseEncryption
+ encrypt(String data): String+ base(String data): String
<<abstract>>Appliance
+ on(): void+ off(): void
AirConditioner
- temperature: int
+ on(): void+ off(): void+ setTemperature(int temp): int+ getTemperature(): int
ImageToPDFConverter
DonaldDuck
- canSpeak: boolean
+ speak()
DeleteCommand
- doc: Document- pos: int- len: int- deletedText: String
LightCommand
- light: Light- prevState: boolean
+ LightCommand(Light light)+ execute(): void+ undo(): void
Computer
<<abstract>>TextCommand
+ execute(): void+ undo(): void
<<abstract>>MenuComponent
+ add(MenuComponent component): void+ remove(MenuComponent component): void+ getChild(int index): MenuComponent+ operation(int level): void+ getName(): String+ getDescription(): String
PDFToWordConverterFactory
EuropeanSocket
+ get220V(): int
Book
- title: String- author: String- isbn: String
TimerTest
Duck
Menu
- name: String- description: String- lists: ArrayList<MenuComponent>
<<interface>>Converter
PlainText
- text: String
+ PlainText(String text)+ render(): String
GamingComputerBuilder
0 条评论
下一页