灵活敏捷开发,高效交付项目的6个关键

项目工程管理

项目工程顶层分层

项目分层设计,划分出 CDM层标准业务层定制业务层
灵活敏捷开发,高效交付项目的6个关键

  • 沉淀领域业务模型至CDM层;
  • 沉底业内通用功能至标准业务层;
  • 客户定制化功能在定制业务层;

    项目内部的层级划分

    灵活敏捷开发,高效交付项目的6个关键

项目包结构管理及规范

image.png

  • pamirs-demo-api

    • constant【常量的包路径】
    • enums【枚举类的包路径】
    • model【该领域核⼼模型的包路径】
    • pmodel【该领域代理模型的包路径】
    • tmodel【该领域传输模型的包路径】
    • service【存放该领域的⾮存储模型如:⽤于传输的临时模型】
    • utils【工具类】
    • XXModule【该类是Demo模块的定义】
  • pamirs-demo-core

    • service【接口实现类】
    • init【模块初始化⼯作的包路径】
    • manager 【manager是 service的⼀些公共逻辑,不会定义为独⽴的function的类】
  • pamirs-demo-view(可选)

    • action【模型对外交互的⾏为的包路径】

      项目中模块间依赖

  • 禁止出现api模块依赖core模块的情况,api模块只允许依赖api模块;

  • 根据当前项目结构进行模块划分,避免循环依赖;

    规划项目模块

    项目阶段,代码开发前,业务架构师需充分的理解需求和蓝图,对系统进行业务域, 功能域的划分;
    例如:对一个电商系统:
    image.png

  1. 提高系统的可维护性:通过将系统拆分为不同的业务域,每个业务域都有清晰的边界和职责,可以独立开发、测试和维护;

  2. 提升开发效率:业务域划分可以使开发团队更加专注于自己负责的业务,减少不必要的沟通和协调,提升开发效率;

  3. 促进团队合作:通过业务域划分,每个团队可以负责一个或多个业务域,团队成员之间可以有更高效的合作和协同。

  4. 支持系统的扩展和演化:业务域划分可以使系统更加灵活和可扩展。当需要新增一个新的业务功能或调整现有的业务逻辑时,只需要修改对应的业务域,而不需要对整个系统进行改动。

    项目文档管理

    项目文档管理对于项目的实施,项目进度管理,项目后期维护等都是至关重要的。系统详细的产品文档,测试文档,运维文档,开发文档,项目管理文档等。

  5. 协同合作:团队成员可以共享和访问项目文档,促进协同合作和信息共享,避免信息孤岛和重复工作。

  6. 知识管理:项目中所获得的知识,对项目的成功和后续的知识积累至关重要。通过良好的文档管理,可以确保项目知识的保存和传承,提高组织的知识管理能力。

  7. 问题解决:项目文档中记录了项目的需求、决策、问题和解决方案等信息。当出现问题或需要做决策时,可以通过查阅文档来获取相关信息,加快问题解决的速度,并减少错误和重复。

  8. 项目追踪:通过文档管理,可以跟踪项目的进展和状态。可以记录项目的里程碑、任务分配、进度更新等信息,帮助团队了解项目的整体情况,及时发现和解决问题。

  9. 知识共享:好的文档管理可以促进知识共享和传播。通过将项目文档进行分类、索引和存档,可以使团队成员更容易找到所需的信息,并从中学习和借鉴经验,提高工作效率和质量。 image.png

数据库和事务

多表联合查询

减少需要join的操作出现 用多次查询替代

索引相关

  • 核心业务访问DB的Sql 要命中或者覆盖索引,保存核心业务的响应时间;
  • 控制单表的索引数量,注意联合索引
  • 数据一致性:乐观锁控制,unique�等

    事务代码示例

    事务相关注意点参考【Oinone如何支持构建分布式项目】:https://doc.oinone.top/kai-fa-shi-jian/5572.html

Oinone社区 作者:shao原创文章,如若转载,请注明出处:https://doc.oinone.top/kai-fa-shi-jian/5564.html

访问Oinone官网:https://www.oinone.top获取数式Oinone低代码应用平台体验

(0)
shao的头像shao数式管理员
上一篇 2024年2月20日 下午6:12
下一篇 2024年2月20日 下午6:40

相关推荐

  • Oinone连接外部数据源方案

    场景描述 在实际业务场景中,有是有这样的需求:链接外部数据进行数据的获取;通常的做法:1、【推荐】通过集成平台的数据连接器,链接外部数据源进行数据操作;2、项目代码中链接数据源,即通过程序代码操作外部数据源的数据; 本篇文章只介绍通过程序代码操作外部数据源的方式. 整体方案 Oinone管理外部数据源,即yml中配置外部数据源; 后端通过Mapper的方式进…

    2024年5月17日
    20300
  • Oinone项目引入Nacos作为注册中心

    Oinone项目引入Nacos作为注册中心 Oinone项目的默认dubbo注册中心为zk, 实际项目中有可能要求用Nacos作注册中心。 Oinone默认引入的nacos-client-1.4.1,低版本不支持认证配置;该客户端版本支持Nacos服务1.x的和2.x的版本 一、项目中增加依赖 项目主pom引入依赖。 <dependency> &…

    2024年2月28日
    27800
  • 如何通过 Oineone 平台自定义视图

    在 Oineone 平台上,自定义视图允许用户替换默认提供的页面布局,以使用自定义页面。本文将指导您如何利用 Oineone 提供的 API 来实现这一点。 默认视图介绍 Oineone 平台提供了多种默认视图,包括: 表单视图 表格视图 详情视图 画廊视图 树视图 每种视图都有其标准的 layout。自定义视图实际上是替换这些默认 layout 的过程。 …

    2024年4月3日
    5900
  • 函数之触发与定时配置和示例

    异步任务总体介绍 函数的触发和定时在很多场景中会用到,也是一个oinone的基础能力。比如我们的流程产品中在定义流程触发时就会让用户选择模型触发还是时间触发,就是用到了函数的触发与定时能力。 触发任务TriggerTaskAction 触发任务的创建,使用sql-record模块监听mysql的binlog事件,通过rocketmq发送变更数据消息,收到MQ…

    2024年5月25日
    30000
  • Nacos做为注册中心:如何调用其他系统的SpringCloud服务?

    Oinone项目引入Nacos作为注册中心,调用外部的SpringCloud服务 Nacos可以做为注册中心,提供给Dubbo和SpringCloud等微服务框架使用。 目前Oinone的底层使用的是Dubbo进行微服务的默认协议调用,但是我们项目如果存在需要调用其他系统提供的SpringCloud服务,Oinone其实并没有限制大家去这么写代码。 可以参考…

    2024年6月4日
    48800

发表回复

登录后才能评论