flypiggyyoyoyo opened a new issue, #836:
URL: https://github.com/apache/incubator-seata-go/issues/836

   **What would you like to be added:**
   
   1. Move repository to a engine/core package for business logic. 
   2. Keep store for data access interfaces and implementations (e.g., 
store/interface, store/impl/db). 
   3. Use dependency injection so engine/core depends on interfaces, not 
concrete database code.
   
   **Why is this needed:**
   
   In the Go implementation, the store package incorrectly mixes high-level 
business logic (e.g., repository) with low-level data access (e.g., db). This 
violates the layered architecture used in Java (where engine/repo handles 
business logic and store handles data access), leading to tight coupling and 
difficult maintenance.  
   
   **Key Problems:**  
   ● store/repository (business logic) and store/db (data access) are grouped 
in the same package, unlike Java's separation.  
   ● High-level logic directly depends on database implementations (e.g., 
db.StateLogStore), making it hard to test and extend.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscr...@seata.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@seata.apache.org
For additional commands, e-mail: notifications-h...@seata.apache.org

Reply via email to