这段时间一直在看DDD的东西,对domain层说到:
domain service领域服务里是无状态stateless的操作
所有的状态stateful应该都在聚合根aggregate里
一个经典的带状态的类/服务是一个可以增加近商品的购物车。带状态的服务方法是这样的:
- createCart
- addArticleToCart(quantity,articleid)
- removeArticleFromCart(quantity,articleid)
- ....
这个有状态的购物车服务有责任来记住它的cartID。
如果要使这个类/服务变成无状态化,你在调用方法时必须提供所有所有需要的参数:
- createCart returns a cartID
- addArticleToCart(cartID,quantity,articleid)
- removeArticleFromCart(cartID,articleid)
无状态的cartService在每次调用时都不需要保持任何状态,每次都返回了它的cartID