08 2023 档案
摘要:前言 聚合作为领域模型中重要的业务功能单元,它的设计是领域建模过程中非常重要的工作。其中聚合根的判断并非一件易事,往往给人一种似是而非的感觉,让人难以捉摸,陷入两难的境地。今天笔者就想以博客园为例来探讨下:博客 (Blog) 和评论 (Comment) 究竟是不是一个聚合? 问题探讨 众所周知,在博
阅读全文
摘要:假设局域网上有两台主机A和B。主机A的IP:192.168.1.2,并且WSL2开启了Redis服务,端口为6379。现在主机B如何才能访问主机A上的Redis服务呢? 第一步:配置端口转发 1. 以管理员权限打开PS,输入命令: netsh interface portproxy add v4to
阅读全文
摘要:前言 笔者之前在公司搭建过一套生产管理系统,该系统要求能和硬件进行串口通信,同时又要方便后台进行信息查询。笔者给出的解决方案就是:MAUI + Blazor,这样只需要提供一套UI,就能满足桌面端、移动端和Web端三种不同应用场景。今天要介绍的是基于桌面端的开发实现(实际上WPF和Winform皆可
阅读全文
摘要:自微软在Windows上推出WSL功能,我们不再需要安装VirtualBox这样的虚拟机来运行Linux系统,给开发人员带来了极大的便利。微软应用商店也提供了一些适用于WSL的Linux发行版, 如Ubuntu、Fedora等,但却没有现成的CentOS。下面就来介绍如何通过WSL来安装CentOS
阅读全文
摘要:先决条件 Visual Studio 2019 v16.9 预览版1或更高版本(通过WSL可选组件进行.NET调试)。若要检查 WSL 组件,请选择 “工具” > “获取工具和功能” 。 在 Visual Studio 安装程序中,选择 “单个组件”,然后键入 “WSL” 搜索安装组件 。 安装WS
阅读全文
摘要:前言 笔者之前开发过一套C/S架构的桌面应用,采用了JWT作为用户的登录认证和授权。遇到的唯一问题就是JWT过期了该怎么办?设想当一个用户正在进行业务操作,突然因为Token过期失效,莫名其妙地跳转到登录界面,是不是一件很无语的事。当然笔者也曾想过:为何不把JWT的有效期尽量设长些(假设24小时),
阅读全文
摘要:为何模块化 模块化是一种分治思想,不仅可以分离复杂的业务逻辑,还可以进行不同任务的分工。模块与模块之间相互独立,从而构建一种松耦合的应用程序,便于开发和维护。 开发技术 .NET 6 + WPF + Prism (v8.0.0.1909) + HandyControl (v3.4.0) 知识准备 什
阅读全文
摘要:问题描述 笔者通过WSL安装了CentOS7系统,刚开始一切都很顺利。当执行systemctl命令时,却意外报错:Failed to get D-Bus connection: Operation not permitted,让小白的我不知所措。经过一番折腾,笔者终于找到了正确的解决办法——原来它和
阅读全文
摘要:系统要求 C/S架构的单体桌面应用,可以满足客户个性化需求,易于升级和维护。相比于一代Winform,界面要求美观,控件丰富可定制。 解决方案 依托.Net6开发平台,采用模块化思想设计(即分而治之的策略),每个模块采用DDD分层设计。前端选用WPF + Prism框架,后端选用ABP + EF框架
阅读全文
摘要:前言 笔者于2021年入职了杭州一家做水务系统的公司,按照部门经理要求,新人需要做一次个人分享(主题随意)。 当时笔者对DDD充满了浓厚的兴趣,之前也牛刀小试过,于是就决定班门弄斧Show一下。后来在公司的新项目中,笔者也是大胆启用了DDD,带领团队和DDD来了一场亲密拥抱。尽管该项目最后没有机会落
阅读全文