2011-12-27 21 views
0

抽象データ型(ADT)はパッケージで定義されています。 ADTのオブジェクトを処理できるように、いくつかの操作が定義されている必要があります。私は、ADTのルーチンがどの順序でソートされなければならないかを教えてくれる規則はないと思います。たとえば、最初にすべてのインスペクタ(ルーチンを取得する)、次にすべての修飾子(ルーチンを設定する)をリストする必要があります。または、検査された属性または変更された属性によってこれらのルーチンをソートする必要がありますか?パッケージ仕様(ADS)ファイルにADTルーチンをソートするルールはありますか?Adaの効率的で合理的なパッケージ仕様(ADS)構造

私はルーチンの種類を開始する合理的な順序を作りたいと思います。

+0

ロット[LRM](http://www.adaic.org/resources/add_content/standards/05rm /html/RM-TOC.html)。 – trashgod

答えて

2

それは抽象的でのADTの話を少し難しいですが、私はより高いレベルでのユースケースによって、おそらく構造は、を変更とを点検したいです。

@trashgodが示唆しているように、LRMは優れたスターターです。例えば、Ada.Text_IOである。また、Quality and Style Guideが役に立つかもしれません。

+0

ドメインフォーカスとQ&SGの+1。 – trashgod

+0

お返事ありがとうございます。私は理解したと思う。 – stardust

0

この構造については何、例えば(LIFO)など:エイダに良い例の

AbstractDataType Queue { 
    1.Constructors: 
     a.CreateQueue 
    2.Destructors: 
     a.DeleteQueue 
    3.Inspectors: 
     a.EqualQueues 
     b.EmptyQueue 
     c.QueueSize 
     d.QueueFront 
     e.QueueRear 
     f.PrintStack 
    4.Modifiers: 
     a.Enqueue 
     b.Dequeue 
     c.AssignQueues 
} 
+0

['Ada.Containers.Doubly_Linked_Lists'](http://www.adaic.org/resources/add_content/standards/05rm/html/RM-A-18-3.html)も参照してください。明示的なデストラクタ。 – trashgod

+1

"コンストラクタ"、割り当て、 "デストラクタ"の側面がありますが、これを管理するにはデフォルトのコンポーネント値と 'Finalization'を使うべきです。そうでなければ、不合理ではない。私はあなたが名前にQueue(またはStack!)という単語を持つべきではないと思う。パッケージ名は私たちにそれを知らせます。操作3aの名前は '' = "'でなければなりません。 –

関連する問題