[英]Force client code to call Service classes instead of Repository classes
我正在使用架構客戶端代碼--->業務服務--->存儲庫。
存儲庫類實現IRepository接口,Service類將IRepository作為其客戶端代碼傳遞給它的構造函數中的參數。
現在問題是,客戶端代碼是否應該能夠直接調用存儲庫類,只是實例化它以將其傳遞給服務類? 在我看來,客戶端代碼應該只能通過在調用存儲庫之前應用業務規則的服務類來調用存儲庫類函數。 因為直接調用存儲庫類而不通過業務層將根據域業務規則簡單地導致無效數據。
但問題是如何防止客戶端代碼直接調用存儲庫中的方法,同時根據抽象的IRepository接口保留服務類。 換句話說,我需要使客戶端代碼能夠實例化存儲庫類,然后將它們傳遞給服務類,但同時無法直接調用存儲庫類中的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.