goyaにあわせてアーキテクチャを変更するかな。('-')
goyaに関する情報が載ってるサイトってどこなんだろ??
higaさんのblogだけなのかな??
今のアーキテクチャ
Action → ActionForm.getParam() → Service → Logic → Dao → DtoDao → Logic → ・・・ Action ← Dxo(ActionForm←Dto) ← Service ← LogicDxo(Dto←Entity) ← Logic ← (Entity) ← Dao (主に更新系) LogicDxo(Dto←EntityEx) ← Logic ← (EntityEx) ← Dao (主に検索系) Dto ← Logic ← (Dto) ← DtoDao (主に検索系) ※ Daoは共有しない。 Serviceも共有しない。 Logicは共有する。 DtoDaoは考え中。 DtoDaoではなくてEntityExとして私は実装してきたんですよ。 DtoDaoってどういう単位でクラスを作ればいいのかあいまいな気がしてあといっぱいできそう。 public class UserEntityEx extends UserEntity { private Long count; // sum系など private String deptNo; // 他のEntityの項目を使いたい場合 DtoDaoのような使い方と思われ }
Action → DTO → Service → Logic/Rule → Dao → DtoDao → Logic → ・・・ Action ← DTO ← Service ← Dxo(Dto←Entity) ← Logic ← (Entity) ← Dao (主に更新系) Dto ← Logic ← (Dto) ← DtoDao (主に検索系)
Ruleってなんなんだろ??
あとWEBDBでgoyaの説明を見るとDaoのメソッド名が条件名になってるけど本当にこれokかなぁ〜?
getOrdersByCustomerId()
getOrdersByOrderId()
自分の中ではDaoは共通モジュールの用で結局はそのLogicに影響する訳だから
Logicのメソッド名と同じような感じになるように設計してる。
xxxxをyyyyするロジック
XXXXLogic.yyyy() → Dao.getYYYY
Daoが共通ならLogicが共通なんじゃって思うわけですよ。
てか同じ検索がいろんなところから呼ばれるならそのDaoを実行するLogicをServiceかLogicは呼びなさいと