0

次の階層構造についてアドバイスが必要です。C++ プログラムで表現したいのですが。

1 つの抽象クラスuriと、そこから派生するurlおよびクラスがあります。urnURI コンセプトのソース コードを含む 1 つのディレクトリが必要です。そして、名前空間は .. と呼ばれるべきですuri。:)

だから、私は私の質問に来ています。名前空間が既に「uri」と呼ばれている場合、抽象クラスに「uri」という名前を付けるにはどうすればよいですか? C++ でこの問題を解決するには、どのような命名規則が一般的ですか? base、uri_base、basic_uri、またはどのように名前を付けますか?

2 つ目の質問です。ユーザーが飽きる前に、どのくらいの頻度で名前空間をネストできますか? たとえば、 などの uri パーツがauthorityあります。新しい名前空間 (例: ) を作成し、このクラスのソース コードを新しいサブディレクトリに配置するqueryのが賢明でしょうか? partsそれとも、これは「過剰設計」になるだけですか?

感謝と敬意

再販

4

3 に答える 3

3

名前空間は、ファイルを保持する実際のディレクトリに基づくものでも、基づくべきでもありません。それらの目的は、関連するクラス/構造体/定数をグループ化し、あいまいさを減らすことです。

クラスに、それを含む名前空間(uri :: uriなど)と同じ名前を付けることに問題はありません。名前は、クラスを使用するプログラマーを念頭に置いて選択する必要があります。

于 2011-06-05T13:42:20.527 に答える
1

名前空間がすでに「uri」と呼ばれている場合、抽象クラスに「uri」という名前を付けるにはどうすればよいですか?

必要に応じて、単に「uri」という名前を付けることができます。囲んでいる名前空間と同じ名前の識別子を問題なく持つことができます。

于 2011-06-05T13:39:00.867 に答える
0

名前空間を誤用しています。それらは基本的に、ライブラリ間の名前の衝突を防ぐためにあります。一般に、ライブラリごとに 1 つの名前空間を持つ必要があります。

于 2011-06-05T13:51:34.923 に答える