参加峰会“金点子”的材料-阿里云开发者社区

开发者社区> 胡庆访> 正文

参加峰会“金点子”的材料

简介: 记录一下,9月份参加研发峰会时的材料。写得不好,而且思想也并不成熟。大致内容如下(EXCEL中直接粘过来的,比较乱): 类别 任务名称 背景介绍 目的(不超过三个) 目标(smart_c) 关键策略 选定方案 策略、方案、计划制定人 实施负责人 协作人 督导人考评人 时间 行动计划关键里程碑 成败攸关因素 管理三问 开发 设计:领域建模解决方案模式 1.业务与代码实现脱离:一般情况下,在进行领域建模时,都会使用图形化的建模工具。
+关注继续查看
记录一下,9月份参加研发峰会时的材料。写得不好,而且思想也并不成熟。大致内容如下(EXCEL中直接粘过来的,比较乱):
类别 任务名称 背景介绍 目的
(不超过三个)
目标(smart_c) 关键策略 选定方案 策略、方案、计划制定人 实施负责人 协作人 督导人
考评人
时间 行动计划关键里程碑 成败攸关因素 管理三问
开发 设计:领域建模解决方案模式 1.业务与代码实现脱离:一般情况下,在进行领域建模时,都会使用图形化的建模工具。在追求开发效率的今天,这种纯建模方式由于它的代码无关性,只能用于对领域内模型进行大体的关系层面的描述,而不会特别详细。这样会导致后期的具体开发会和设计相脱节。而有些直接使用类进行建模或使用数据库建模的方法,也面临着相似的问题,即二者相脱离。
2.不够纯净的模型代码:在代码层面,一般的业务模型类会包含太多的非业务信息。如直接映射数据库字段而来的属性、如表示层显示的信息。这些非业务的信息附加在这些它的上面,会使得业务模型类过于庞大。而基于它的分析、设计、实现,都会不可避免地更加复杂。(如,在设计业务类的时候,会不自然地去考虑数据映射等问题。)
3.不易满足设计思想:领域建模得到的业务模型类,应该是基于OO思想的。可是单使用目前的各种ORM框架,是不可能实现任意的映射(因为里面很可能包含我们自己的映射规则)。
1.在“纯净的领域建模环境”下建立“纯净的领域模型”。
2.领域建模得到的业务模型,应该是完全符合面向对象思维的,应该是可随意设计的。并且应该能够精准地描述业务,应该是可以直接指导开发的。
3.模型到代码实现的快速转换。相对原来的实现,不会添加过多的工作量。
1.构建的每一个模型,都是纯净的,不能拥有业务以外的内容。这包含模型的所有属性和方法。
2.构建的模型,应该精确到每一个属性。
3.模型的设计,满足三大面向对象原则:封装、继承、多态。可在不考虑其它因素的情况下,随意设计以达到业务要求。
4.模型的构建,时限必须比纯图形方式更快。(由于项目的大小不同,这个时限需要按需界定。)
5.模型建立完成后,基于这些模型的代码实现较一般开发方式相比,额外需要的开发时间不能超过10%。
1.使用“代码即设计”的方案。(原因:设计直接就是代码,无需转换。OO语言的代码,直接支持可使用OO的原则。文本文件,编辑方式灵活,可迅速构建。)
2.基于interface code建模。(原因:足够抽象,只关心业务规则。相对只进行关系建模,更加具体,可清楚地定义每一个属性,方法,关系。)
3.模型代码实现可支持使用ORM框架等。(原因:支持一般的开发模式。)
4.代码生成 + 通用框架。(原因:减少开发时间。这步主要是生成一般性的代码,构建通用的框架。)
1.在需求明确后,使用interface code描述业务模型的属性和方法。所有的code都应该确定下来。具体到每一个属性的名字、类型等。(简单文本适合于快速开发。)
2.(可复用的)为了辅助第一个步骤,可以开发一个图形化的模型查看工具(对模型只读)。这个工具不但可以查看模型是否构建有较大的问题,更加有用的是,方便和其它人员的沟通,包括开发人员、需求分析人员、业务专家等。(图形化的方式会比较有利于沟通。)
3.(可复用的)代码生成器 + 通用框架。代码生成一般会包含SQL建表语句。当然,视具体开发情况而定,也需要为不同的模型实现生成不同的代码:如对应Hibernate用一套,对应POJO用一套……同样的,框架也分为两部分:抽象通用的一部分和具体使用某ORM框架的一部分。
4.定制开发。以第一步的interface为界限,一分为二。上层人员基于这些业务模型,直接组织业务“流”逻辑,十分方便业务维护。下层为模型实现具体的类,需要考虑以下内容:数据库的设计、选定适应需要的ORM模型(或者不使用)、实现映射模型中ORM框架未实现的特殊映射规则。一个中小型项目中,这个工作的实施往往只需要一到二个精通ORM的人即可。
胡庆访 胡庆访 胡庆访 胡庆访 2010、2 得到:通用框架、代码生成器 通用度的抽象。(需要更多小型项目的测试) 1.承办人目标明确(承办人能准确复述): (是)、(否)
2.承办人的能力(与目标要求的匹配度): (高)、(需要指导)、(需要协助)
3.承办人的积极性(如何进行有效激励): (高)、(一般)、(低)
2010、3 得到:模型查看工具 interface code中通用定义规则的抽象。
具体项目开始时间+半月 得到:业务模型 理解需求。
具体项目开始时间+一个半月 得到:业务模型的实现代码 精通ORM。

 

具体的文件:

http://files.cnblogs.com/zgynhqf/DDD_Pattern.rar

里面一个是五环表,一个是示例代码。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
8305 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
10729 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10076 0
使用SSH远程登录阿里云ECS服务器
远程连接服务器以及配置环境
2208 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
11797 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
11921 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
4526 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
21466 0
+关注
胡庆访
Rafy 框架作者。(https://github.com/zgynhqf/rafy) 专注于:领域驱动设计、面向服务架构、插件化架构、模型驱动架构、产品线工程、快速界面生成。
247
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载