深度开发模式:按需开发与公共框架的平衡之道
扫描二维码随身看资讯
使用手机 二维码应用 扫描右侧二维码,您可以
1. 在手机上细细品读~
2. 分享给您的微信好友或朋友圈~
理想很丰满,现实往往很残酷。
一种按照需求驱动开发的方式,根据业务来逐个编写所需的模块,然后按照模块编写所需的接口,构建中间件和解耦的command、handler等。通过这样的方式,一个项目便初具雏形。该项目的显著特点是按需开发,无需定义与业务相关的公共模块,有则使用,无则不添加。这种项目看起来似乎没有公共框架,只是一个独立的项目。当然,这种方式的效率和性能也是最高的,无需过多地包装公共代码。
有关示例如下,不做过多的赘述:
l iuzhixin405/netcore-micro (GitHub.com)
一种业务规模庞大的项目,开发人员只需要编写业务实现,这就需要一个公共框架,提供可复制的公共模块,以便业务人员编写业务代码。
下面以简洁的方式呈现这种开发模式,项目层级如下:
三个模块分别是业务模块、主机和基础模块。业务模块Business以dll形式提供给host进行注册和发布。
主机host可以存放公共的基础模块,例如注册、登录、认证等,这里省略。
业务模块存放业务代码,包括提供接口。
流程如下:request => 业务模块controller => business => service => repository
整个项目的接口保持不变,实现可以各异。
在仓储层定义几个公共的方法,
服务层也是同样的方法
依赖注入还是老一套,实现它就行。
在主机通过扫描assembly来注册服务
业务需求注入代码如下:
在business层加了aop,通过proxy的方式
在你需要的每个方法前加上特性就可以了
再控制器层加了个公共的,不管是controller拦截还是公共的部分都可以写到这里
该框架主打就是一个简陋,像日志、缓存、消息中间件都可以提前约定好公共接口,service层接口调用,business层注入需要的实现。按照接口和实现分离的方式该项目还需要调整下目录
地址如下:
liuzhixin405/single-arch (github.com)
- 诸神灰烬救赎
- 僵尸爆发
- 萌翻天消消乐无限金叶破解版2024 v4.3.56 最新版
- 贪婪洞窟99999攻击破解免登录版 v4.1.9 最新版
- 烟雨江湖0.1折版下载 v1.124.53489 安卓版
- 终极摩托破解版无限金币完整版2024 v1.81 最新版
- 迷你世界0.51.0.0版本雨林可联机版 安卓版
- 拳皇97风云再起街机版下载 v4.2.0 安卓版
- 战地战争模拟器官方版下载安装 v1.0 安卓版
- 忧郁的安娜 新版安卓
- 不思议迷宫0.1折版下载 v0.8.240521.05-0.0.41 安卓版
- 奶奶 中文版
- 驱入虚空 国际服
- 植物大战僵尸 中文杂交版
- SQL Translator:将自然语言查询转换为SQL代码的工具
- 脚本化CSS
- HTTP响应头中的Content-Disposition和文件下载
- LLM 推理 - Nvidia TensorRT-LLM 与 Triton Inference Server
- libevent之evbuffer
- HarmonyOS SDK实况窗服务:提升用户服务体验的新型消息通知展示形式
- Redis企业级性能优化关键点和解决方案
- Spring Boot框架下实现Excel服务端导入导出详解
- 开源热搜项目:离线翻译软件RTranslator、爬虫框架katana和更多
- 使用代理方式打开网页及同步和异步写法对比
- 命名实体识别(NER)简介及使用指南
- JS中位运算符|0的神奇效果
- 1
加查之花 正版
- 2
爪女孩 最新版
- 3
企鹅岛 官方正版中文版
- 4
捕鱼大世界 无限金币版
- 5
内蒙打大a真人版
- 6
烦人的村民 手机版
- 7
球球英雄 手游
- 8
情商天花板 2024最新版
- 9
跳跃之王手游
- 10
蛋仔派对 国服版本