什么是DDD?
ABP框架提供了基础设施, 使基于领域驱动设计的开发更易实现.
领域驱动设计(DDD) 是一种通过将实现连接到持续进化的模型来满足复杂需求的软件开发方法.
领域驱动设计的前提是:
- 把项目的主要重点放在核心领域和领域逻辑上
- 把复杂的设计放在领域模型上
2025年06月18日
ABP框架提供了基础设施, 使基于领域驱动设计的开发更易实现.
领域驱动设计(DDD) 是一种通过将实现连接到持续进化的模型来满足复杂需求的软件开发方法.
领域驱动设计的前提是:
2025年06月18日
在日常开发中,移动端常见的目录管理、菜单组织、权限体系、UI层级、甚至复杂配置的管理等,都天然拥有“树状结构”。如何用简洁、灵活、可扩展的方式优雅实现这些递归层级?这就是**组合模式(Composite Pattern)**的威力所在。
2025年06月18日
作者:鲍文炜 上海博物馆青年学者
艺术史家巫鸿在新近采访中提及现代人往往因缺乏图像教育而成为“视盲”,进而在进入展览、面对画作时常常发出“看不懂”的感叹;这种情况在欣赏西方绘画时似乎尤为普遍。日本国立西洋美术馆近期的展览“西方绘画,从何看起?从文艺复兴到印象派”恰可作为对这种观点的回应,显示展览不仅可以通过独立展品提供审美体验、带来智性提升,更能以其整体为观众搭建起适用于理解同类展览的框架,以及有关如何理解图像的方法论上的启发。
2025年06月18日
设计模式是软件设计中常见问题的典型解决方案,是针对软件设计中常见问题的工具箱,其中的工具就是各种实践验证的解决方式。即使你从未遇到过这些问题, 了解模式仍然非常有用, 因为它能指导你如何使用面向对象的设计原则来解决各种问题。
2025年06月16日
Windows 10使用了不同于Windows 7的安全模式进入方式。使用Windows 10系统,要进入安全模式,一般需通过系统“设置”菜单,进入到系统“高级设置”,然后重启才能到达。不过,我们可以想方设法,找到进入安全模式的其他捷径。例如,通过找回Windows 10中失效的F8安全模式捕捉功能,启动时用F8捕捉进入;或者找回传统多系统启动菜单列表中的F8选择项,选择进入。这样,便可为Windows 10环境下进入安全模式提供方便。
1. 多法找回F8捕捉 一键选择安全模式
2025年06月16日
作者:kaliarch原文:
https://juejin.im/post/5e02fb1f518825123b1aa341
背景:近期 k8s 应用中 etcd 的功能存在一些困惑,对其进行来单独的学习,能更深入理解 k8s 中的的一些特性。
2025年06月16日
随着 Linux 操作系统的广泛应用,特别是 Linux 在嵌入式领域的发展,越来越多的人开始投身到 Linux 内核级的开发中。
面对日益庞大的Linux 内核源代码,开发者在完成自己的内核代码后,都将面临着同样的问题,即如何将源代码融入到 Linux 内核中,增加相应的 Linux 配置选 项,并最终被编译进 Linux 内核。这就需要了解 Linux 的内核配置系统。
众所周知,Linux 内核是由分布在全球的 Linux 爱好者共同开发的,Linux 内核每天都面临着许多新的变化。但是,Linux 内核的组织并没有 出现混乱的现象,反而显得非常的简洁,而且具有很好的扩展性,开发人员可以很方便的向 Linux内核中增加新的内容。原因之一就是 Linux 采用了模块化的内核配置系统,从而保证了内核的扩展性。
2025年06月16日
Flyway是一款数据库迁移工具,它让数据库迁移变得更加简单。它能像Git一样对数据库进行版本控制,支持命令行工具、Maven插件、第三方工具(比如SpringBoot)等多种使用方式。
我们在公司做开发时,由于项目需求的变化,或者前期设计缺陷,导致在后期需要修改数据库,这应该是一个比较常见的事情,如果项目还没上线,你可能把表删除了重新创建,但是如果项目已经上线了,就不能这样简单粗暴了,我们需要通过 SQL 脚本在已有数据表的基础上进行升级。
2025年06月16日
本内容来源于@什么值得买APP,观点仅代表作者本人 |作者:soulzy
首先本人小白,边弄边摸索,如有不对的地方,还请大神轻喷。
2025年06月16日
简单男孩S1mple
科斯特利耶夫(Aleksandr Kostyliev)
生日 1997年10月2日
准星设置
cl_crosshairalpha 255; cl_crosshaircolor 5; cl_crosshairdot 1; cl_crosshairgap -1; cl_crosshairsize 1; cl_crosshairstyle 5; cl_crosshairusealpha 1; cl_crosshairthickness 0; cl_crosshair_drawoutline 0; cl_crosshair_sniper_width 1; cl_crosshaircolor_r 255; cl_crosshaircolor_g 255; cl_crosshaircolor_b 255;