如何使用设计模式——qq交流群讨论纪实

64 篇文章 0 订阅
35 篇文章 0 订阅
trufun  9:35:33
大家好,由于下周清明节放假,周二的课程临时提前到今天
just low-key(1)  9:38:05
  能不能讲,uml 设计
just low-key(1)  9:38:13
 类图和序列图。
trufun  9:44:15
上堂课我们讨论了设计模式的定义、四要素、分类,并讲出了设计模式的难点是第二要素
trufun  9:47:17
如何在设计中使用设计模式,首先要熟悉常见的设计模式
trufun  9:50:26
1.将各种设计模式烂熟于心。
2.研究设计模式的关联性
lion()  9:53:36
创建类型、行为类型、结构类型
lion()  9:53:56

老师给分别讲讲吧。

===============================================

    现在定制Trufun企业内训或者购买Trufun系列产品,

    可获赠苹果iPad或者iPhone 4S产品,先到先得!!

------详情访问www.trufun.net咨询了解-----

===============================================
trufun  9:54:45
看看上堂的记录
trufun  9:54:10
就像骑自行车一样,学会了,几年不用也不会忘,使设计模式的使用成为自然而然的事情
trufun  9:57:03
其次,要找到设计模式应用的对象
trufun  10:00:12
这个对象就是我们UML课程中讲过实体对象,这是从实际需求中来的,它是使用设计模式基本条件
trufun  10:07:23
这里有一个概念叫粒度,实际上是指设计模式应用对象的大小
trufun  10:11:09
粒度的把握取决于你研究的问题大小,与封装、依赖关系、灵活性、性能、演化、复用有关
trufun  10:14:35
比如门面模式可以应用到系统,子系统的封装,而命令模式可以用到一个字符对象
咖啡刀()  10:16:21
这个粒度的控制
咖啡刀()  10:16:35
是否有相对经验性的一些建议
咖啡刀()  10:16:58
或者是否能提供个实例性的介绍呢?
trufun  10:16:46
所以,选择设计模式的应用对象,没有一个标准,是非常灵活的,也是设计水平的体现
XML Trufun()  10:17:27
如何把握粒度大小?
咖啡刀()  10:17:27
然后根据实例来说说这个粒度的切分
trufun  10:17:27
后面讲
咖啡刀()  10:17:39
哦 那很期待 嘿嘿
咖啡刀()  10:18:03
嗯啦 这个粒度的大小是没标准,不过老师你可以根据你的经验来讲讲吧
trufun  10:19:19
这些实体对象的来源,我们在以前的UML分析课里已经讲过,不在赘述
lion()  10:19:58
老师可以说说架构模式吗?
太阳海<>  10:20:14
我也想听
lion()  10:20:26
比如分层、面向切面、soa之类的
trufun  10:20:30
那是另外一门课
trufun  10:20:52
感兴趣的人少
trufun  10:20:03
这些实体对象的来源,我们在以前的UML分析课里已经讲过,不在赘述
lion()  10:21:16
我和太阳海都感兴趣,
trufun  10:22:02
好,以后有机会讲
trufun  10:24:44
找到实体对象以后,要找辅助对象,这是设计模式应用的关键
trufun  10:27:42
辅助对象主要是抽象类,接口,是需求里面没有的
trufun  10:30:21
怎样建立辅助对象,完全取决你选择的设计模式
trufun  10:31:49
怎样建立辅助对象,完全取决你选择的设计模式
梦想成真()  10:32:15
麻烦打扰问一下,是先确定辅助对象再选模式呢还是先确定模式再找辅助对象
trufun  10:33:43
各种设计模式的UML图中已经定义了辅助对象,上网一查就能找到
trufun  10:34:07
先找模式
梦想成真()  10:34:35
哦,明白,谢谢!
trufun  10:40:51
比如抽象工厂和工厂方法的辅助对象就不同
麒麟()  10:42:17
抽象工厂有哪些辅助对象呢
麒麟()  10:42:25
工厂方法有哪些扶助对象
trufun  10:42:29
他们的实体对象可以相同
trufun  10:42:42
后面具体讲
trufun  10:47:32
在设计模式中应用辅助对象,就像你要上传文件,要建立buf对象一样自然
trufun  10:48:40
所以,又回到老问题,需要大家熟记设计模式
trufun  10:53:56
辅助对象中的抽象对象,主要实现由子类实现或重新定义方法
trufun  10:56:59
辅助对象中接口对象,主要实现与实体对象的动态绑定
trufun  11:00:06
感兴趣的网友可以把设计模式中辅助对象数一遍,看看是否就有这样的职责
麒麟()  11:01:37

好的

===============================================

    现在定制Trufun企业内训或者购买Trufun系列产品,

    可获赠苹果iPad或者iPhone 4S产品,先到先得!!

------详情访问www.trufun.net咨询了解-----

===============================================
trufun  11:02:27
通过辅助对象,把实体对象联系起来,形成固定搭配,就是设计模式
trufun  11:05:21
应用设计模式的第三点,就浏览设计模式,与你的问题进行匹配,赛选出几个设计模式
天意@来生缘()  11:07:56
也就是说,拿业务需求对比设计模式,筛选出符合的设计模式,而后根据设计模式确定辅助对象
trufun  11:08:48
重点在设计模式第二要素,是否适合你,和第四要素,效果
trufun  11:08:51

天意@来生缘()  11:13:00
第二要素,业务需求匹配设计模式,如果这时候对设计模块了解的有限,那就只能先根据设计模式的应用场景进行匹配了,并且这个匹配是某一点上的匹配还是某一业务范围的匹配呢
trufun  11:13:43
怎样确定呢,可以从设计模式的结构(后面重点讲)和示例代码进行分析,权衡
trufun  11:14:44
从你的问题,和模式的职责进行匹配
天意@来生缘()  11:16:58
恩,比如单例模式,职责是一个类有且只有一个对象,那如果当前业务场景中的实体对象只有一个对象的话,就可以当做候选的?
trufun  11:18:05
设计时尽可能避免孤类存在
trufun  11:22:35
最后,重新检查一下你选择的设计模式,看看还有没有可变的,需要封装的地方
trufun  11:25:34
另外,要注重效果,不要用了设计模式,影响了性能和可维护性
深蓝医生(45383850)  11:27:12
模式是重构出来的。
trufun  11:27:50
今天的设计模式概念的下半部分就讲完了,888
trufun  11:29:18
一般是在后期重构出来,开始堆代码时只关心功能实现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值