胡协刚分析设计模式培训心得

最近参加了公司的一个外部培训,就是胡协刚老师的设计模式培训,哎,名声这么大,中国架构师网首席架构师,讲课的水平确实不是特别高,培训时被无数次挑战,很多话都是问句,要知道每次争取培训机会都是比较难的,往往刚发出来通知,就已经被如狼似虎的同志们抢光了, :oops: 再就是培训的费用是很高的每天超过12000元哈,这里先发下牢骚,再讲他讲的主要内容和我整理的相关的东东。

[color=olive][size=medium][b]一.基本概念[/b][/size][/color]

[b]1.什么是分析模式[/b]
对表象行为进行规律性总结,抽象出能够准确表达共通问题的分析模型模板
[b]2.分析与设计的区别[/b]
分析是抽象共性,分析出来业务系统的名词中哪些是实体,哪些是实例,设计是具体到如何实现,分析是不要考虑数据库的存储,设计时要考虑的。
[b]3.分析是为了构建领域模型,如何才能构建领域模型呢[/b]
领域模型设计是需求分析的关键步骤。它帮助用户及需求分析人员建立业务概念,确定用户业务的问题域,系统涉及的业务范围等等。
领域模型设计的步骤为:
(1). 从业务描述中提取名词;
(2). 从提取出来的名词中总结业务实体,区分名词中的属性、角色、实体、实例,形成问题域中操作实体的集合;
(3). 从业务实体集合中抽象业务模型,建立问题域的概念(例如,我们把容易变质的水果称之为“短期保持水果”,当然也可以是其它说法,只要能跟用户达成共识即可);
(4). 用UML提供的方法和图例进行领域模型设计、确定模型之间的关系;


二.常用的分析的几种模式

[b]1.参与者模式[/b]

这个是基本的分析方法,比如淘宝用户的购买群体可能有个人,也有可能有组织,这个时候要抽象他们的共性,就是他们都是参与者即Party
[img]http://dl.iteye.com/upload/attachment/176844/d469b8a0-84ef-3dcc-a428-90417c857987.bmp[/img]
进阶阶段,对组织抽象[img]http://dl.iteye.com/upload/attachment/176848/759412e4-a5c8-3df9-9a49-6e6c9fe50550.bmp[/img]

[img]http://dl.iteye.com/upload/attachment/176850/98eb3190-2c80-3c67-9ae9-3687593fff46.bmp[/img]
比如公司里分实线管理和虚线管理的两种架构,这种情况下在设计时要有另外的实体来维护这种上下级的关系,但是这样也不能完全解决问题,在这个关系里可以找到上级和下级,要找同级的就比较麻烦,要找自己的上级的下级。

再进阶阶段,组织关系抽象[img]
http://dl.iteye.com/upload/attachment/176848/759412e4-a5c8-3df9-9a49-6e6c9fe50550.bmp[/img]


[img]http://dl.iteye.com/upload/attachment/186005/dc3ecdf4-4c64-3eb6-908a-c6e68403f268.bmp[/img]

组织结构类型抽象的实质是使用关联类来对关联关系进行更高级别的抽象。

[b]2. 类型元模式[/b]

该模式解决的问题,描述相同类别的不同对象,不同的实现。
举例:描述一组类型,三角形,四边形,五边形等等

1. 最基础的实现,大家都知道,定义接口,实现不同的实体。

[img]http://dl.iteye.com/upload/attachment/176860/98dc94ff-6d13-38d6-adf2-cf9c28d1e6da.bmp[/img]

进阶阶段,增加类型和实例对应[img]http://dl.iteye.com/upload/attachment/176848/759412e4-a5c8-3df9-9a49-6e6c9fe50550.bmp[/img]

分离知识层和操作层,triangelType等都是PolygonInstance类的一个对象。而在PolygonType中有个type表示是什么类型。


[img]http://dl.iteye.com/upload/attachment/186009/95500252-3658-3200-8d0a-a1fdde239b65.bmp[/img]


再进阶就是,假如外贸版产品中会有售卖笔记本的这类产品,最好就是根据其型号,能够自动出来很多其他属性,比如选择了T61,就应该有2.4Gcpu等,如果有个性化需求再将某个属性覆盖掉,具体图后续贴上来。


总结下设计的任务,其实就是两个,一是找出来会有哪些类,然后就是给这些类分配职责。根据职责和扩展性使用GOF等模式就可以了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值