所以我正在制定我的计划草案.
这是我的计划:
GUI
---
Business Logic
---
Data
Run Code Online (Sandbox Code Playgroud)
您应该能够毫无问题地替换任何一个GUI或该Data层.每一层都看着自己.因此GUI将调用方法,Business logic并且方法将始终返回状态和可能的一些数据.应该始终在GUI层中确定GUI应如何响应数据.业务逻辑应该对此没有影响.因此,与GUI和业务逻辑的关系已经得到解决.我希望你能跟着我.
现在换一些更具体的东西.我对数据层的计划是使用数据库.现在,Business Logic应该如何从数据层调用方法?
也许我应该创建一个枚举,它对应于数据层知道的不同硬编码SQL查询?
例如
Datalayer.GetResults(Queries.GetAllCustomersIDs);
Run Code Online (Sandbox Code Playgroud)
查询是枚举.
如果这是正确的方法,GetResults应该返回什么?一个字符串数组?但是如果查询具有多维数据呢?
我应该使用2种通用方法吗?
Datalayer.GetSingleDimensionResults(SingleDimensionQueries.GetAllCustomersIDs);
Datalayer.GetMultipleDimensionResults(MultiDimensionQueries.GetAllCustomers);
Run Code Online (Sandbox Code Playgroud)
或者我应该对每种数据请求进行查询?
Datalayer.GetAllCustomerIDs;
DataLayer.GetAllCustomers;
Run Code Online (Sandbox Code Playgroud)
等等
architecture ×1