分层和模块化
一件事情给多个人来分解完成。模块化是让不同的人来完成不同的工作,分层是让一个人完成一件事情的不同阶段。模块分多了,就好比人员过多,需要精简机构。分层导致了很多的“重复”代码,用比喻来说就是同一件事情要让多个人来完成其不同阶段,必须“重复”的让每个人认识清楚那个东西在这个阶段是什么。由于同一件东西在不同阶段有可能很类似,所以会觉得重复。
AOP
平时,都是我们要做什么事情的时候,去找做那件事情的人,然后要求他做什么,这个就是普通的办事规则。但是有的时候,比如你去饭店吃饭,你坐下了就会有服务员过来倒水,这个主动提供服务,就是AOP。因为这种服务常见,有很强的重复性,pointcut非常明显。而基于属性编程一个很好的比喻就是,你去一个地方办企业,你只要给自己贴上一个标签,投资办企,然后各种服务机构(也可能是剥削机构)自然就会来找你。
一件事情给多个人来分解完成。模块化是让不同的人来完成不同的工作,分层是让一个人完成一件事情的不同阶段。模块分多了,就好比人员过多,需要精简机构。分层导致了很多的“重复”代码,用比喻来说就是同一件事情要让多个人来完成其不同阶段,必须“重复”的让每个人认识清楚那个东西在这个阶段是什么。由于同一件东西在不同阶段有可能很类似,所以会觉得重复。
AOP
平时,都是我们要做什么事情的时候,去找做那件事情的人,然后要求他做什么,这个就是普通的办事规则。但是有的时候,比如你去饭店吃饭,你坐下了就会有服务员过来倒水,这个主动提供服务,就是AOP。因为这种服务常见,有很强的重复性,pointcut非常明显。而基于属性编程一个很好的比喻就是,你去一个地方办企业,你只要给自己贴上一个标签,投资办企,然后各种服务机构(也可能是剥削机构)自然就会来找你。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架