assets | ||
build | ||
docs | ||
samples | ||
scripts | ||
src | ||
tests | ||
tools | ||
.gitattributes | ||
.gitignore | ||
README.md |
朋友们,零度新版架子今日正式开始搭建。我们非常激动地宣布,新一代架子起名为 “HelloShop”, 这个架子将演示新一代 .NET 技术栈开发架构,作为一个电商应用,之所以起名为 HelloShop,是以为我们希望这个架子被更多的人能够理解购物这种简单的业务流程。
新一代架子将使用微软最新技术栈向你展示各种技术的最佳实践,主要技术包括:Aspire + .NET8 + EF Core + ASP.NET 8 Blazor + gPRC+ PostgreSQL + MonngDB + Redis + SignalR + Blazor + 基于 Identity 改造的认证和授权系统 + Orleans + 全文检索 + 服务发现 + 健康状况监测 + 分布式日志 + 分布式跟踪 + 分布式事件 + 指标度量 + 单元测试 + 集成测试 + 压力测试 + MAUI 跨平台(桌面,安卓,IOS) 等。
我们一直秉持化繁至简、坚持最佳实践最少依赖的原则,确保框架的实时更新。当然,我们也参阅了其它优秀的框架,这包括 ABP ,eShop 、微软开源库、设计模式、云设计准则和模式、其它开源库等,为了更好的分割每种技术的应用场景,我们尽量将不同的技术置与不同的微服务中,一方面可以更好的参阅某种技术的最佳用法,其次是很很方面的组合不同的技术。我们一直认为企业没有通用架子这个说法,只有合适的设计,虽然 HelloShop 也算一个架子,但这个架子更像是一个技术应用示例库,如果需要用到某种技术,你总能找到某个最佳实践,如果能达成这个目标,我们就心满意足了。
新一代架子取消了 DDD 模式。我们认为 DDD 设计在大多数企业无法落地,加之它的复杂度让很多程序员乱用,所以我们取消了 DDD,用零度推荐最简单的洋葱模型。当然 DDD 边界划分和业务拆分的方法论仍然适用于 HelloShop 的微服务边界。对于大多数人来说,有一个基本的权限系统,然后用某种 UI 技术(MAUI、Blazor,MVC)开始快速组合几种需要的技术开始快速撸代码,是大多数程序员的诉求。如果时间允许,我们 Blazor 和 MAUI 都将基于谷歌 Material UI 库提供一个 UI 层面的模板。
优雅是零度一直追求的。因此我们的代码坚持优雅的语言和最新的框架。希望你也能够参与这种优雅。
目前,仓库地址公布于此: 国外仓库地址:https://github.com/bit365/hello-shop (实时同步) 国内仓库地址:https://gitee.com/bit365/hello-shop (每周更新)
另外,在仓库的结构上,我们跟随了微软惯用的风格,目录结构如下:
assets 一些静态资产 build 自动化构建过程 docs 一些设计文档,说明书,架构图,需求说明等。 samples 一些示例代码 src 解决方案源代码 tests 一些测试,单元测试,集成测试。 tools 在搭建过中用到的一些工具。 scripts 一些自动化构建脚本
我们使用了微软最新的技术,也会不断跟随最新技术,所有需要用到 Visual Studio 2022 最细预览版和 .NET 最新预览版,而不是正式版。
关于这套架子的版权,我们将采用 MIT 开源协议,这意味着你可以在任何地方使用这套架子,包括商业用途,但我们希望你能保留版权信息,如果你觉得这套架子对你有帮助,你可以给我们一个 Star,这是对我们最大的鼓励。
本套架子会有一些配套视频在 www.xcode.me 上发布。如果你想要获取最新的视频可以关注我们的订阅号 zerostack。我们会在公众号上发布最新的动态。
除此之外我们为了演示整套架子的搭建和部署,刚刚还注册了 helloshopnet.com 和 helloshopnet.cn 这个两个域名用于后期的架子部署所用,也算是给 HelloShop 安一个家,目前还没有备案,正准备备案中。
最后我们希望这套架子能帮助到你如果你有任何问题可以在 Github 上提出我们会尽快回复。