利用PlantUML可以非常方便的画各种UML图,下面是我画的KafkaProducer的类图。
类图
源代码
最方便的是这个图是用几行代码表达出来的。
@startuml!includeurl https://raw.githubusercontent.com/ebbypeter/Archimate-PlantUML/master/Archimate.pumltitle Kafka Producer' KafkaProducer Elementsclass KafkaProducerclass ProducerMetadataclass ProducerConfigclass DefaultPartitionerclass RecordAccumulator { ConcurrentMap> batches}class Sender' RecordAccumulator Elementsclass ProducerBatchclass TopicPartition' Sender Elementsclass KafkaClient' KafkaProducer RelationshipsRel_Serving_Up(KafkaProducer, ProducerMetadata, "")Rel_Serving_Up(KafkaProducer, ProducerConfig, "")Rel_Serving_Up(KafkaProducer, DefaultPartitioner, "")Rel_Serving_Up(KafkaProducer, RecordAccumulator, "")Rel_Serving_Up(KafkaProducer, Sender, "")' RecordAccumulator RelationshipsRel_Serving_Up(RecordAccumulator, ProducerBatch, "")Rel_Serving_Up(RecordAccumulator, TopicPartition, "")' Sender RelationshipsRel_Serving_Up(Sender, RecordAccumulator, "")Rel_Serving_Up(Sender, ProducerMetadata, "")Rel_Serving_Up(Sender, KafkaClient, "")@enduml
工具
我是用的intellij idea的plantuml插件画的。sublime和vscode都有插件支持。
下次我再画一下KafkaProducer的方法调用序列图sequence uml。