在我的逻辑类中,我有对 Web 服务的 ajax 调用,我将内容存储在 cookie 中,从 uri 查询字符串中获取信息并向用户显示消息。
将我的逻辑类与这些依赖项分离的最佳实践是什么?
我的环境:我正在使用 SharpKit(C# 到 javascript 编译器)进行开发,所以我用 c# 编写,最终我的代码编译成纯 javascript 并且只在浏览器上运行(没有服务器端代码)。
一开始我考虑将它们包装成 2 个存储库:1 个用于 ajax 调用,其他用于浏览器所有交互(cookie、url、消息等)
现在它看起来像这样(没有 DI):
public class CustomersScreenController
{
public CustomersScreenController(
Services services,
CookieHelper cookieHelper,
UriHelper uriHelper)
{ ... }
}
我将所有浏览器的东西放在一个仓库中有意义吗?另一方面,Cookies 和查询字符串在我看来就像另一个数据源......
你怎么看 ?
另一个问题:你会如何分层这种应用程序?
ajax 调用似乎是数据层控制器是逻辑层和 BrowserStuff(cookies、url、消息)是 UI 层?
目前它像这样与 MVC 一起工作:控制器进行 ajax 调用并用数据填充模型,模型是一种数据绑定到具有所有显示对象(文本框、网格等)的视图的方式。视图负责视图逻辑像渲染,悬停,点击等......并将事件触发到控制器中。
最终我很想测试控制器,所以我想开始使用 DI