• Showing Page History #79484

クラス構成(概念的なもの)

Log4cppのクラス構成(概念的なもの)です。正確には若干違いますが、Log4cppを理解し、使用するためであれば、これで十分だと思います。
また、Log4cppには内部的なクラスがありますが、Log4cppを理解し、使用するためだけれあれば、それらは知る必要はありませんからここでは触れていません。

各クラスの概要

各クラスの関連についての説明

UMLについて補足

UML2.0をあまり知らない方のために、補足します。

関連(正確には関連端)は、属性とほぼ同じ意味です(関連端と属性を総称してプロパティと呼びます)。 例えば、

は、 と同じ意味ですので、関連って何?意味分からん!という人は頭で置き換えてください。
※注意:正確には関連端と属性は完全に同じものではありません。例えば、関連では双方向関連や限定子を表記できますが、属性ではできません。ですが、ここではそこまで意識しなくて良いです。

関連端名の近くにある数字、例えば「0..1」とか「0..*」は多重度です。ぶっちゃけ、何個持つかということです。「1」なら常に1。「0..*」なら0個以上です。
表記方法ですが角カッコ([])の中に数値が入っていて一般的なプログラミング言語(C言語など)の配列の表記法と似ていると思った方、賢いです。その意味で考えてOKです。

それから、objBの前にある「-」は可視性という物です(ちなみに、「-」はprivateです)。が、ここでは意識しなくて良いです。

Category(カテゴリ)

Categoryクラスから他のクラスへの関連の関連端を属性に直すと以下のようになります。

  • parent
  • priority
  • appender

Appender(アペンダー)

Appenderクラスから他のクラスへの関連の関連端を属性に直すと以下のようになります。