类图演示

类图演示

Mermaid 类图用于展示面向对象设计中的类结构和关系。

基础类图

classDiagram
    class Animal {
        +String name
        +int age
        +makeSound()
    }
    
    class Dog {
        +String breed
        +bark()
    }
    
    class Cat {
        +String color
        +meow()
    }
    
    Animal <|-- Dog
    Animal <|-- Cat

PowerWiki 架构类图

classDiagram
    class PowerWiki {
        -config: Config
        -gitManager: GitManager
        -markdownParser: MarkdownParser
        +start()
        +sync()
    }
    
    class Config {
        +String gitRepo
        +int port
        +String siteTitle
        +load()
        +validate()
    }
    
    class GitManager {
        -repoPath: String
        +clone()
        +pull()
        +getFiles()
    }
    
    class MarkdownParser {
        -marked: Marked
        -highlightjs: HighlightJS
        +parse(content)
        +extractFrontmatter()
    }
    
    class CacheManager {
        -cache: Map
        +get(key)
        +set(key, value)
        +clear()
    }
    
    PowerWiki --> Config
    PowerWiki --> GitManager
    PowerWiki --> MarkdownParser
    PowerWiki --> CacheManager

用户认证系统

classDiagram
    class User {
        +String id
        +String username
        +String email
        -String password
        +login()
        +logout()
    }
    
    class Admin {
        +String[] permissions
        +manageUsers()
        +viewLogs()
    }
    
    class Guest {
        +String sessionId
        +browse()
    }
    
    class AuthService {
        +authenticate(username, password)
        +authorize(user, resource)
        +generateToken(user)
    }
    
    User <|-- Admin
    User <|-- Guest
    AuthService ..> User : uses

设计模式 - 单例模式

classDiagram
    class Singleton {
        -static instance: Singleton
        -Singleton()
        +static getInstance()
        +doSomething()
    }
    
    note for Singleton "私有构造函数\n确保只有一个实例"

设计模式 - 工厂模式

classDiagram
    class Product {
        <<interface>>
        +use()
    }
    
    class ConcreteProductA {
        +use()
    }
    
    class ConcreteProductB {
        +use()
    }
    
    class Factory {
        +createProduct(type) Product
    }
    
    Product <|.. ConcreteProductA
    Product <|.. ConcreteProductB
    Factory ..> Product : creates

设计模式 - 观察者模式

classDiagram
    class Subject {
        -observers: List~Observer~
        +attach(observer)
        +detach(observer)
        +notify()
    }
    
    class Observer {
        <<interface>>
        +update()
    }
    
    class ConcreteObserverA {
        +update()
    }
    
    class ConcreteObserverB {
        +update()
    }
    
    Subject o-- Observer
    Observer <|.. ConcreteObserverA
    Observer <|.. ConcreteObserverB

数据库模型

classDiagram
    class Article {
        +String id
        +String title
        +String content
        +Date createdAt
        +Date updatedAt
        +save()
        +delete()
    }
    
    class Author {
        +String id
        +String name
        +String email
        +getArticles()
    }
    
    class Tag {
        +String id
        +String name
        +getArticles()
    }
    
    class Category {
        +String id
        +String name
        +getArticles()
    }
    
    Author "1" --> "*" Article : writes
    Article "*" --> "*" Tag : has
    Article "*" --> "1" Category : belongs to

关系类型说明

classDiagram
    classA <|-- classB : 继承 (Inheritance)
    classC *-- classD : 组合 (Composition)
    classE o-- classF : 聚合 (Aggregation)
    classG <-- classH : 关联 (Association)
    classI -- classJ : 链接 (Link)
    classK <|.. classL : 实现 (Realization)
    classM <.. classN : 依赖 (Dependency)

可见性修饰符

classDiagram
    class Example {
        +public attribute
        -private attribute
        #protected attribute
        ~package attribute
        +publicMethod()
        -privateMethod()
        #protectedMethod()
        ~packageMethod()
    }

提示: 类图适合展示面向对象设计、系统架构、设计模式等。使用不同的关系类型表达类之间的关联。

更新时间:2026年2月24日