基于ASP.NET Core实现前端微服务
1. 微前端概述
微前端可以使用运行.NET代码的WebAssembly框架(如Blazor)来实现。不过,在这种情况下,各个微单页应用(micro - SPAs)并非运行在独立环境中,所以它们必须基于兼容的.NET版本。
SPA微前端与基于服务器的微前端有着相同的可维护成本,并且由于页面是在新内容和/或数据到达浏览器时动态创建的,因此存在浏览器页面翻转和重组的问题。可以通过使用固定大小的HTML标签预先分配浏览器页面的每个内容区域来解决此问题。例如,我们可以预先分配一个300px X 300px的区域,用于在实际内容加载时显示天气预报、图片或动画。
2. 应用架构定义
应用将采用领域驱动设计(DDD)方法及相关模式来实现,并且使用SOLID原则来映射领域部分。该应用被组织成三个层,每个层作为一个不同的项目来实现:
- 领域层 :包含存储库的实现以及描述数据库实体的类,是一个.NET库项目。由于它需要一些在Microsoft.NET.Sdk.web中定义的接口(如IServiceCollection),并且DBContext层必须继承身份验证框架以处理应用的身份验证和授权数据库表,因此不仅要添加对.NET SDK的引用,还要添加对ASP.NET Core SDK的引用。不过,实现自定义用户管理也是常见的做法。
- 领域层抽象 :包含存储库规范,即描述存储库实现和DDD聚合的接口。在实现中,我们通过将根数据实体的禁止操作/属性隐藏在接口后面来实现聚合。例如,作为聚合根的Package数据层类,在领域层抽象中有一个对应的I
超级会员免费看
订阅专栏 解锁全文
1379

被折叠的 条评论
为什么被折叠?



