11017


![画像の説明をここに入力](https://i.stack.imgur.com/w7FWG.png)  
上記画像について

  * 青い枠線で囲まれたもの = 名前空間
  * 赤い枠線で囲まれたもの = クラス

として

**Foo::FooFormクラスはFoo::Module::Mathクラスを使用し  
Bar::BarFormクラスはBar::Module::Mathクラスを使用します。**

**Foo::Module::MathクラスはFoo名前空間にあるクラス以外からは使用されないようなメソッドが、  
Bar::Module::MathクラスはBar名前空間にあるクラス以外からは使用されないようなメソッドが  
書かれている**

とします。

また、  
**Module::Mathクラスはあらゆるクラスから使用されるようなメソッドが**  
書かれています。

このようなFoo名前空間とBar名前空間のような、  
名前空間自体の配置を似通ったようなものにするのは  
設計的に正しいでしょうか？


CC BY-SA 3.0
2015-06-05T06:19:40.470
11004
2015-06-05T22:50:31.733
2015-06-05T15:39:06.553
3639
9945
question
詳細設計
名前空間とクラスの配置について ( 一部分のクラスから参照されやすい名前空間の配置 )


開発規模にもよると思いますが、複数人で開発する際などは各担当箇所ごとにばらばらな構成になるよりは、多少冗長でもご質問のようにルール化して進めた方があとあと開発メンバの入れ替えなどが発生した場合混乱が少なくて済むことが多いです。


CC BY-SA 3.0
2015-06-05T22:50:31.733
11017
2015-06-05T22:50:31.733
9515
11004
answer