首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    架构分四层,我的代码应该放哪一层

    分别是api层、biz层、domain层和dao层。 要想清楚我们的代码应该放在那一层,先让我们一起熟悉这四层的职责。...二、biz层 biz层,也叫业务服务层。它主要负责编排。把一个业务场景下的主流程逻辑处理完成。这个主流程会涉及到多个原子接口,就在这层负责组装。可以看出来,它的特点是主内。是一种“向内”表达。...这也是区别api层的地方,虽然有时候api层和biz层是1:1的关系,当然有时候也会有M:N的情况。但是,它的职责定位跟api完全不同。...比如订单域、运费域等。注意,在没有形成领域之前,这层一般叫service层,不过我们都是建议领域思维编写代码。 特点:要厚,要规范,沉淀复用为主。...原则:厚domain薄biz 问题2:domain层一定要用充血模型吗?

    2.2K30

    基于 Spring Cloud Alibaba 的微服务毕设架构设计与腾讯云部署实践

    /**→biz-service││├─路由:/api/base/**→base-service││└─全局:JWT鉴权、限流、跨域│└──────┬───────────────────────────...//user-servicepredicates:-Path=/api/user/**filters:-StripPrefix=1-id:biz-service-routeuri:lb://biz-servicepredicates...九、数据库设计:单库+表前缀逻辑隔离毕设场景下,单库+表前缀隔离是性价比最高的方案:服务表前缀示例表说明user-servicesys_sys_user,sys_role用户权限体系biz-servicebiz_biz_product...将系统划分为用户域(UserContext)、业务域(BusinessContext)和基础域(InfrastructureContext)三个限界上下文,每个上下文对应一个独立部署的微服务。...Nacos8848,服务9001/9002/90037Docker启动顺序错误服务比Nacos先启动使用depends_on,但docker-compose只保证启动顺序不保证就绪,建议增加重试机制8前端跨域报错浏览器拦截跨域请求在

    34300

    基于SpringBoot和PostGIS的各省与地级市空间距离分析

    再从省域上面来看,以湖南省为例。你知道湖南省哪几个城市距离长沙最近?而哪几个城市离长沙更远呢。首先来揭晓答案,离长沙最近的是湘潭和株洲,湘潭44公里,株洲48公里。...本文将以之前管理的地名数据为例,基于SpringBoot和PostGIS详细讲解如何进行省会城市与省域内各城市之间的直线空间距离,如何将直线空间距离在WebGIS中进行地图可视化。...biz_province"."id" IS '主键ID';COMMENT ON COLUMN "public"."biz_province"."...biz_province"."name" IS '省份名称';COMMENT ON COLUMN "public"."biz_province"."...总结 以上就是本文的主要内容,本文将以之前管理的地名数据为例,基于SpringBoot和PostGIS详细讲解如何进行省会城市与省域内各城市之间的直线空间距离,如何将直线空间距离在WebGIS

    26710

    BizDevOps全局建设思路:横向串联,纵向深化

    在工业化时代,Biz(业务)、Dev(开发)、Ops(运维)三者往往相对分离,甚至有时只有其中的两者或仅有一者独立存在。...从字面意思理解,BizDevOps即业务研发运维一体化,是一种倡导业务、开发和运营三个工作域拉通互联的方法论。...而与Dev“标准化”为目标的区别在于,Biz的这些实践更多是为迸发更多的创新点。...3、Ops的纵向建设传统的运维域已有丰富的场景支撑,如CMDB、ITSM、监控告警体系等。而在数字化背景下,Ops除了运维之外,还被赋予了运营的使命。...2、中层为价值流层面从Biz的创意点——Dev的研发工程——Ops的各平台之间要相互连接并对齐目标,比如:Biz中创意平台中的创意点以需求池的形式同步到Dev的需求管理,同时将Biz及Dev的流程串联在一起

    1.3K10

    BizDevOps全局建设思路:横向串联,纵向深化

    在工业化时代,Biz(业务)、Dev(开发)、Ops(运维)三者往往相对分离,甚至有时只有其中的两者或仅有一者独立存在。...从字面意思理解,BizDevOps即业务研发运维一体化,是一种倡导业务、开发和运营三个工作域拉通互联的方法论。...而与Dev“标准化”为目标的区别在于,Biz的这些实践更多是为迸发更多的创新点。...3、Ops的纵向建设传统的运维域已有丰富的场景支撑,如CMDB、ITSM、监控告警体系等。而在数字化背景下,Ops除了运维之外,还被赋予了运营的使命。...2、中层为价值流层面从Biz的创意点——Dev的研发工程——Ops的各平台之间要相互连接并对齐目标,比如:Biz中创意平台中的创意点以需求池的形式同步到Dev的需求管理,同时将Biz及Dev的流程串联在一起

    93710

    架构提效的矛盾和矛盾的主要方面

    比如订单域、运费域等。这里对“这一层的位置”多说几句,在没有形成领域之前,这层一般叫service层,不过我们都是建议领域思维编写代码。最后是dao层,也就是我们的存储层了,负责持久化。...这个时候,一般会出现两类现象,一类是业务层(biz)变的臃肿,能力层(domain)变的单薄。另一类是出现了网状调用。而且这两类现象也很有可能是混合在一起出现。...biz层越来越”胖“。胖了之后,还长成了两小层。上小层是面向单一业务场景的“业务biz层”,下小层成了通用场景可复用的“通用biz层”。 service层越来越”瘦“。...原本biz-1 -> service-1 的实现链路下,随着新增业务逻辑,又新起了一个service-2,链路演变成了biz-1 -> service-1-> service-2。...“这样的趋势持续发展下去,会发现biz-1下的service调用链路越发的复杂,呈现为一颗深度调用树,而biz层失去了业务编排的作用退化为一个业务场景入口的标志符”。

    2.2K33

    一文读懂《Effective Java》第3条:用私有构造器或者枚举类型强化Singleton属性

    第一种:公有静态类是个final域 构造器保持为私有,导出公有静态成员,客户端可以访问该类的唯一实例。...公有域方法的好处是,组成类成员的声明,很清楚的表明这个类是一个Singleton。公有的静态域是final的, 所以该域总是包含相同的对象引用。...但公有域方法在性能上不再有任何优势了,因为现代的JVM 实现几乎都能够将静态工厂方法的调用内联化(Inline Method)。...2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=160351095319195264762715&biz_id...2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=160351095319195264762715&biz_id

    59230

    Android 之dragger使用

    ... } 接下来谈谈ActivityComponent,可以看到有个@ActivityScope注解,这个注解是自定义的,对应Activity的生命周期,Dagger2可以通过自定义注解限定注解作用域,...void inject(MainActivity mainActivity); // .... } ActivityModule:注入Activity,同时规定Activity所对应的域是...Activity activity() { return this.activity; } } 至此,注入工作初步完毕了,看到这里,可能有童鞋有疑问,Presenter(或者Biz...我建议使用这种方式,对于不同的Activity,创建各个对应的ActivityCompontent,同时把Presenter(Biz)注入到Component的视图中,这也是dagger2推荐的做法,Dagger...而我的做法没有把Presenter注入到ActivityComponent中,因为Presenter的作用域和Activity一样,好处是节省代码(- -),大家可以自行选择注入方式。

    1.5K100

    static和extern

    控制域和生命周期 生命周期跟控制域是不一样的 static修饰局部变量 static修饰局部变量 原本局部变量是在栈区 经过修饰后变为局部静态变量...储存区发生变化变为静态区 生命周期会和程序生命周期一样 而控制域不变还是只能在那个小地方使用 static修饰全局变量 全局变量虽然控制域和生命周期的范围都是整个程序...局部变量申请内存在栈区 全局变量申请内存在静态区 静态局部变量申请内存在静态区 而静态全局变量也申请在静态区 函数调用时才会在栈区申请内存 静态函数也是调用时才在栈区申请内存 对于其控制域和生命周期...2522169942407316800222883594%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=169942407316800222883594&biz_id

    39710

    从零打通 super-xiaoe:工单自动排查与评论闭环

    ─────┐ ┌──────────────┐ ┌─────────────────────────┐ ││ │ 用户确认 │──▶│ §9 评论工单 │──▶│ §5 沉淀 biz-wiki...SKILL.md团队已在用;Skill 可版本化在 team-knowledge知识库team-knowledge 本地 $KB + meta-mcp search_team_knowledge离线 biz-wiki...仓库,与知识库同仓,方便 PR 一起评审:text 体验AI代码助手 代码解读复制代码team-knowledge/├── knowledge-catalog.md # 业务域入口...├── biz-wiki/{domain}/ # 实体 / 踩坑 / catalog├── team-conventions/│ └── 业务模块数据库表检索.json...避免污染知识库后续可演进方向(尚未实现,仅作规划):Webhook:工单创建自动 @Agent 排查与 CTT(Coding Ticket Tool)统一 header/footer,工单列表展示「已 AI 初筛」按业务域自动选路径的

    24910

    “领域驱动开发”实例之旅(1)--不一样的开发模式      一、分析业务需求。    二、设计领域对象模型    三、测试领域对象模型    四、设计业务处理类    五、设计Entity和Vi

    说简单点,Entity 和ViewModel 都依赖于 BIZ class ,BIZ class调度DomainModel,使用或产生Entity和ViewModel。    ...BIZ就像业务用例,它组合MomainModel的调用,我这里这个Biz也许更像Service。系统只有Entity会和数据库打交到。 ? Entity ?... = new CashierRegisterBIZ(CashierMM ,crManchines);             biz.AddQueue(Chunge);             biz.AddQueue...(Beianqi);             biz.AddQueue(Noname);             biz.CashierRegister();         }     七、设计表架构...三、进行表设计     这个过程有DBA主导,每个模块的负责人和DBA一道,根据Demo页面上面展现的功能、表单、表单域,来设计这个模块相关的表和表的字段。

    1.3K70
    领券