摘要: 前言 从13年接触DDD之后开始做应用架构已经整整四个年头. 四年里关于DDD的感触良多,慢慢有了一些心得. 关于DDD的介绍已经有很多的文章和书籍,这里我推荐三本最重要的书籍. 《领域驱动设计 软件核心复杂性应对之道》(DDD) 《实现领域驱动设计》(IDDD) 《领域驱动设计模式,原理与实践》( 阅读全文
posted @ 2017-10-06 16:07 Skyven 阅读(1378) 评论(8) 推荐(7) 编辑
摘要: 迭代任务看板 1. 打开任务看板 2. 打开燃尽图查看剩余工作情况,如果离发布较近,但是还有很多剩余工作,可能需要提前准备移除一部分优先级低的需求,如果剩余工作较少,适当安排一些需求 3. 任务板按照人员分组,查看每个人的剩余工作,如果有超过则适当提醒项目其他人员协助 4. 关注初始估计超过8小时的 阅读全文
posted @ 2018-01-29 21:58 Skyven 阅读(548) 评论(0) 推荐(0) 编辑
摘要: 故事点 故事点更多体现的是用户情景或者bug的规模,采用斐波拉契数列(1,2,3,5,8,13)这样的数字表示,包含如下内容: 1. 相对工作量 2. 复杂度 3. 风险和不确定性 相对工作量 下面演示一个Case来说明: 假设有个编辑页面A有10个字段,B有100个字段: B的相对工作量应该是较大 阅读全文
posted @ 2018-01-29 21:56 Skyven 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 就绪板列 准入条件 1. 需求已完成交付 2. 需求交付过程中的问题已全部解决 3. 当前迭代需求所产生的BUG必须放入该列 4. 之前迭代遗留的BUG 工作内容 1. 需求实现概要设计 2. BUG确认 3. 任务拆分 4. 任务工作量估算(单位小时) 5. 情景规模估算(单位为故事点:斐波纳契数 阅读全文
posted @ 2018-01-29 21:55 Skyven 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 列 产品开发的整个流程如下图,将流程配置到看板的列: 需求池 就绪 开发 测试 待验收 待发布 已关闭 一般将Bug和需求放在一块看版上处理,工作项有自己单独的状态,可以通过模板设置调整,但是不推荐这么做(配置难度较大,并且自带的比较通用),所以这里工作项需要对应看板列,这样在看板中操作时候可以利用 阅读全文
posted @ 2018-01-29 21:54 Skyven 阅读(620) 评论(0) 推荐(0) 编辑
摘要: 单层架构 在最开始编程的时候相信大家都写过下面这种架构,界面代码,业务代码,数据库连接全部在工程面完成。当然这种架构在处理很小的程序的时候依然有生命力 两层架构 后来我们发现数据访问的代码大量重复,应该进行抽象,于是单独将数据访问相关的代码封装出一个数据访问层,就是用Sqlhelper将数据库访问的 阅读全文
posted @ 2018-01-15 10:23 Skyven 阅读(345) 评论(1) 推荐(1) 编辑
摘要: 简述 对 Abp的动态web api的改造过程 注册 1. 首先通过反射将《服务类型》通过ApiControllerBuilder 构建成成 DynamicApiControllerInfo2. 在DynamicApiControllerInfo中同时构建DynamicApiActionInfo3. 阅读全文
posted @ 2017-12-17 20:43 Skyven 阅读(1917) 评论(14) 推荐(5) 编辑
摘要: 在web应用中,单个进程或者机器的响应速度有限,类似大量数据导入导出的操作的数量如果不加限制,会导致服务器cpu被吃满,导致其他一些很简单的请求无法及时响应的问题。针对这个限制提出了如下要求。1. 先到达的请求先执行: 先入先出原则2. 只能同时执行若干请求:避免cpu被吃满3. 异步执行:如果长时 阅读全文
posted @ 2017-11-11 16:11 Skyven 阅读(3481) 评论(0) 推荐(4) 编辑
摘要: 上一篇文章直接就被移除首页了,这次来点大家都能懂的干货. 需求 之前做一个winform的工具时候有以下几个需求1. 主窗体(或者叫平台)可以安装若干类型的插件。2. 插件关闭时候需要保存状态。3. 插件加载的时候可以加载上次关闭的配置。4. 插件中的配置可以切换。5. 主窗体本身保存当前插件,并且 阅读全文
posted @ 2017-11-06 22:18 Skyven 阅读(1614) 评论(2) 推荐(1) 编辑
摘要: 数据模块 1. 从重构的角度,最开始大泥球的架构中,所有的数据都放到一个库中.随着业务发展需要将表进行分组纵向划分,此时一组表就是一个数据模块. 2. 从业务的角度,依据ddd中领域上下文的概念,正好对应一个数据模块. 设计思路 无论是现在流行的微服务,还是以前的SOA,还是DDD中都有模块化思想. 阅读全文
posted @ 2017-11-04 19:58 Skyven 阅读(645) 评论(0) 推荐(2) 编辑