1
我有一個API,其中查詢和實體模型的表示由同一個類表示。簡化版本:在Java中使用OOP實現CQRS
class Model {
private Long id;
private Double a;
private Double b;
...
}
問題是這些屬性一起作爲查詢對象是沒有意義的。它一共不需要id
,而a
,b
是排他性的。如果沒有適當的分離,代碼很難理解。我的計劃涉及爲每種類型的密鑰創建單獨的查詢類別:A
和B
。
讓我擔心的是,爲了避免使用instanceof
(假設所有查詢類型都知道的任何代碼),我需要在查詢對象中實現所有橫切關注點。例如,映射到WHERE
子句作爲實際SQL
查詢的一部分。
爲了避免客戶端對實現具有隱式依賴性,我最初的計劃是創建服務器端類,以擴展每個POJO A
和B
並在那裏實現細節。這需要額外的映射層從A
映射到其他一些將執行sqlQuery()
操作(簡化事項)的類。
問題:既然這看起來夠複雜,那麼這種問題是否存在一些標準方法?參考,模式的歡迎。
不能完全明白這個問題,你能提供一個更具體的例子嗎?在你的域名中,a和b實際上是雙打的嗎? – Sudarshan