私はそれをUML(統一モデリング言語統一モデリング言語)を書く理由は、デザインモードの前に書かれましたか?デザインパターン、主に考慮すべき次のデザインパターン、私はUMLダイアグラム、ケース、書き込みに3つのアプリケーションから、自分の知識を適用するために、各デザインパターンのよりユーザフレンドリー理解することに努めてまいりますパターンを設計し、それぞれにエッセイボーエンは主に、「グラフィックデザインパターン、」ブックを参照してください私のブログの友人のサポートと共通の進歩の多くを見たいと思っています。あまり話をしなかった、我々は始まりました。
UMlLは、可視化システムを可能にすることですので、仕様書や設計書の方法の性能
一:类图
それは、静的クラス、インタフェース、実施例との関係を表します
図1に示すように、クラス階層、クラス、可視
抽象クラスParentClass { 公共のint型のフィールド1; 保護された短いフィールド2; バイトフィールド3; プライベート長いFIELD4。 抽象ボイドmethodA(){ // } 公共ボイドmethodB(){ // } } ChildClassがParentClass {拡張するクラス 静的フロートFIELD1と、 プライベートダブルフィールド2; ボイドmethodA(){ // } 静的ボイドmethodC(){ // } }
次のとおりです。
(1)長方形の型を表す、クラス名、フィールド名、メソッド名を表す、3つの領域に分割され
(2)抽象クラスまたは意志抽象メソッド(アブストラクト)イタリック
(3)フロントアクセス指定子シンボル内のフィールドの名前は、非標識図アクセス指定子のメソッド名の前に表します。プライベート、パブリック(+)、保護された(#)、デフォルト(〜)、( - )
(4)静的キーワードを表す(_)下線のフィールド名又はメソッド名を修飾しました
(5)図中の白抜き矢印の形状は、親クラスのサブクラスによって継承表します
図2に示すように、インタフェースおよび実装クラス
ActionInterface {インターフェース 、抽象methodA()を 抽象methodB(); } クラスアクションが実装ActionInterface { ボイドmethodA(){ // } ボイドmethodB(){ // } }
次のとおりです。
(1)インターフェース名は、イタリック体で表示されています
白抜きの矢印の関係(2)を実装インタフェースポイントことは、点線でクラスをクラスインターフェースと実装を表します
3、重合
クラスカラー{ // } クラスフルーツ{ 色の色; // } クラスバスケット{ フルーツ[]果物; // }
次のとおりです。
図のカラー(色)フルーツカラー例を含むクラスフルーツバスケットの複数のインスタンスが、一例を含むことを特徴とインスタンス、果物(フルーツ)、バスケット(かご)は、3つのクラスが、この関係は、集合の関係が存在することになります。すなわち、限りさらなるクラスは、クラスの1つまたは複数の例を保持するように、重合がオフになっています。
II:タイミングダイアグラム
内部指図のメソッドを呼び出すプログラムの動的挙動、職場での経時変化
class client{ Server server; void work(){ server.open(); server.print(); server.close(); } // } class Server{ Device device; void open(){ // } void print(){ device.write(); } void close(){ // } } class Device{ void write(){ // } }
说明如下:
(1)最上面的三个长方形代表类的实例,可用 实例名:类名表示
(2)每个实例下面有一条虚线,称为生命线,代表这个实例的生命周期,虚线上的小长方形代表一个方法
(3)实心箭头代表调用的方法,虚线箭头代表返回
(4)时序图应该从左往右,从上往下沿着生命线查看