摘要:
在MAUI微软的官方方案是使用Blazor开发,但是当前市场大多数的Web项目使用Vue,React等技术构建,如果我们没法绕过已经积累的技术,用Blazor重写整个项目并不现实。 Vue是当前流行的web框架, 简单来说是一套模板引擎,利用“模板”和“绑定”两大特性实现web页面mvvm模式开 阅读全文
摘要:
混合开发的概念是相对与原生开发来说的:App不直接运行原生程序,而是在原生程序中运行一个Web程序,原生程序中包含Web运行时,用于承载Web页面。暂且将原生应用称之为Web容器,Web容器应该能让JavaScript代码与原生平台的代码交互,互相调用,同时为上层提供交互逻辑,例如导航,事件,C 阅读全文
摘要:
上一章我们说道,如果要使各模块之间解耦,使得各自独立成服务,首先要解除各个模块之间的引用关系。 还记得上一章我们的小项目吗 ?们回到之前的代码上来,当前的项目架构如下图: 这次的任务是将它改造成面向服务体系的架构,是构建微服务的第一步改造: 一. 引入Soa库 首先将Soa库的三个项目引入 阅读全文
摘要:
上一章我们完成了小项目的面向服务体系改造,你或许一直在思考一个问题。为什么要将业务独立成微服务? 微服务原理 以一个健康医疗系统为例, 这个系统包含了用户模块,问卷的发放与填写,图表显示,报表生成与查看,患者管理等功能,传统的架构如下: 随着项目规模的增长,在开发过程中会发现如下问题: 各模块 阅读全文
摘要:
上一章我们建立了一个典型的面向领域设计的Abp小项目,如果按照常规的开发方式,会遇到什么问题呢? 先来完善一下这个小项目,在定义好各实体类后,运行Miguration并向数据库里写入一些初始数据。 现在整个项目的依赖引用图如下,每一个都有独立的引用路线,互不干涉。 简略图如下 假设现在 阅读全文
摘要:
在企业中大型项目中,随着业务的不断拓展,项目发展到一定程度,需要寻求项目的各模块解耦,独立成为微服务。如何实现呢? 首先我们先来简单回顾一下Abp框架怎样实现(DDD)领域驱动设计的,Abp框架的全称是:Asp.Net Boilerplate Project(即Asp.Net 的样板项目),我们 阅读全文
摘要:
问题:在使用Update-Database时,突然出现“数据库中已存在名为 'XXX' 的对象”。 检查发现__EFMigrationsHistory表中的MigrationId与项目中的EntityFrameworkCore项目中的Migrations内容有不同的地方。 ABP的更新机制是对比 阅读全文