前書き
ここに質問するのが正しいかはわかりませんが、経験豊富な方々に意見を頂きたく質問します。
タグは今使用している言語・フレームワークにしておきました。
前提・実現したいこと
現在、ネットワーク構成管理用のWebGUIを作成しています。
チーム事情でWeb系エンジニアが自分一人です。周囲に有識者もいないため、誰かと相談することができない状況です。
現状JavaとSpring bootを用いてWebGUIの設計を行っていますが、私のこれまでの経験では既存システム改修に主に携わってきたこと、パッケージ構成を改善するような大規模改修を行ったことがなく、
またプロジェクトの新規でプロジェクトを立ち上げたことがないので、パッケージ構成について深く考えたことがありませんでした(反省)。
今後、案件としても継続性・拡大性が高いのと、自分が永遠に保守するわけではないので、可能な限りわかりやすいパッケージ構成にしたいと考えています。
もちろんソフトウェア開発の"原則"のようなものはあると思いますが、どうしてもネットの記事や参考書だけでは腑に落ち切らない部分があるので、
有識者の方の経験や、こうあったほうがいいという理想などをお聞き出来たらと思っています。
考えていること
依存関係や再利用性、変更可能性などを鑑みて設計をしているつもりなのですが、今までに経験のあるパッケージ構成にどうしても寄ってしまいます。
経験の大部分を占める条件および構成の例を以下に記載します。
※あくまで例なので、こういう役割があるべき、増やしたほうがいいなどの観点は排除して頂けたらと思います。
- 機能群A、機能群Bがあるとする。
- クラスの役割として、"Controller"、"Form"、"Logic"に分割されている。
package ∟hoge ∟機能群A ∟Controller ∟Form ∟Logic ∟機能群B ∟Controller ∟Form ∟Logic
経験では大体このようなつくりのパッケージ構成が多かったので、初めは何の気なしにこのような構成で設計をスタートさせました。
ただ、もしかしたら、
package ∟hoge ∟Controller ∟機能群A ∟機能群B ∟Form ∟機能群A ∟機能群B ∟Logic ∟機能群A ∟機能群B
こういった作りのほうが大部分の現場ではオーソドックスなのではないか?
と考え始めたら、何が一番良いのか見えなくなってきてしまったのが現在地です。
どういったパッケージ管理が理想的なのか、処理でいうところのOCP的なものはあるのかなどを踏まえ、
ご意見を頂けたらと思います。
よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー