最近参加了公司的一个外部培训,就是胡协刚老师的设计模式培训,哎,名声这么大,中国架构师网首席架构师,讲课的水平确实不是特别高,培训时被无数次挑战,很多话都是问句,要知道每次争取培训机会都是比较难的,往往刚发出来通知,就已经被如狼似虎的同志们抢光了,
再就是培训的费用是很高的每天超过12000元哈,这里先发下牢骚,再讲他讲的主要内容和我整理的相关的东东。
一.基本概念
1.什么是分析模式
对表象行为进行规律性总结,抽象出能够准确表达共通问题的分析模型模板
2.分析与设计的区别
分析是抽象共性,分析出来业务系统的名词中哪些是实体,哪些是实例,设计是具体到如何实现,分析是不要考虑数据库的存储,设计时要考虑的。
3.分析是为了构建领域模型,如何才能构建领域模型呢
领域模型设计是需求分析的关键步骤。它帮助用户及需求分析人员建立业务概念,确定用户业务的问题域,系统涉及的业务范围等等。
领域模型设计的步骤为:
(1). 从业务描述中提取名词;
(2). 从提取出来的名词中总结业务实体,区分名词中的属性、角色、实体、实例,形成问题域中操作实体的集合;
(3). 从业务实体集合中抽象业务模型,建立问题域的概念(例如,我们把容易变质的水果称之为“短期保持水果”,当然也可以是其它说法,只要能跟用户达成共识即可);
(4). 用UML提供的方法和图例进行领域模型设计、确定模型之间的关系;
二.常用的分析的几种模式
1.参与者模式
这个是基本的分析方法,比如淘宝用户的购买群体可能有个人,也有可能有组织,这个时候要抽象他们的共性,就是他们都是参与者即Party
进阶阶段,对组织抽象
比如公司里分实线管理和虚线管理的两种架构,这种情况下在设计时要有另外的实体来维护这种上下级的关系,但是这样也不能完全解决问题,在这个关系里可以找到上级和下级,要找同级的就比较麻烦,要找自己的上级的下级。
再进阶阶段,组织关系抽象[img]
http://dl.iteye.com/upload/attachment/176848/759412e4-a5c8-3df9-9a49-6e6c9fe50550.bmp[/img]
组织结构类型抽象的实质是使用关联类来对关联关系进行更高级别的抽象。
2. 类型元模式
该模式解决的问题,描述相同类别的不同对象,不同的实现。
举例:描述一组类型,三角形,四边形,五边形等等
1. 最基础的实现,大家都知道,定义接口,实现不同的实体。
进阶阶段,增加类型和实例对应
分离知识层和操作层,triangelType等都是PolygonInstance类的一个对象。而在PolygonType中有个type表示是什么类型。
再进阶就是,假如外贸版产品中会有售卖笔记本的这类产品,最好就是根据其型号,能够自动出来很多其他属性,比如选择了T61,就应该有2.4Gcpu等,如果有个性化需求再将某个属性覆盖掉,具体图后续贴上来。
总结下设计的任务,其实就是两个,一是找出来会有哪些类,然后就是给这些类分配职责。根据职责和扩展性使用GOF等模式就可以了。
- 大小: 1.6 KB
- 大小: 2.3 KB
- 大小: 1 KB
- 大小: 1.5 KB
- 大小: 1.8 KB
- 大小: 3.8 KB
分享到:
相关推荐
自己在实际项目开发中,用到的设计模式,前几天刚对进行公司内部培训。在次进行分享,互相交流学习。
自己学习时候写的设计模式的源码和心得,源码倒是没什么,主要是里面有心得,这个是干货,对后来者很有帮助。
公司内部的设计模式的培训资料,包括代码——实例。高级设计模式培训师主讲。
作者: 郭峰 出版社:中国铁道出版社 ... 《深入浅出设计模式》适用于中、高级软件设计和开发人员,尤其是已经学习过设计模式但没有收获的开发人员,同时也可作为高校相关专业师生和社会培训班的教材。
本课程针对上述问题,有针对性的进行了升级 (1) 授课方式采用 图解+框架源码分析的方式,让课程生动有趣好理解 (2) 系统全面的讲解了设计模式,包括 设计模式七大原则、UML类图-类的六大关系、23种设计模式及其分类,...
设计模式是构建大型软件系统zui强大的方法之一,优化软件架构和设计...全书囊括单例设计模式、工厂模式、门面模式、代理模式、观察者模式、命令模式、模板方法模式、复合模式、状态设计模式以及反模式等多种设计模式。
本科阶段写过一个小游戏,是一门课的大作业,当时能力有限,代码能力以及对设计模式的理解和运用都不够,后来研究生期间,由于《软件结构设计与模式分析》这门课的期末考试需要我们编写并分析一个软件,软件类型不限...
设计模式不仅在软件工程领域有着广泛的应用,还能够帮助开发者更好地理解和分析现有系统的设计思路,从而提高软件质量和开发效率。通过对设计模式的学习和掌握,开发者可以更加灵活地应对各种复杂的软件设计挑战。 ...
这是我的设计模式作业:运用5个以上的设计模式创建一个系统。其中包括:1.单例模式 2.原型模式 3.抽象工厂模式+模板方法模式 4.代理模式 5.策略模式 详见博文:...
《Head First设计模式》是一本深受开发者喜爱的经典书籍,它以独特且易于理解的方式介绍了设计模式这一复杂的概念。设计模式是软件开发中的经验总结,是解决常见问题的有效模板,可以帮助我们编写更灵活、可维护和可...
《Java设计模式》是刘伟老师撰写的经典教材,它为Java程序员深入理解和应用设计模式提供了极佳的学习资源。设计模式作为软件工程中解决特定问题的典型方案,是每一个有志于成为高级开发者的程序员不可或缺的知识储备...
在本设计模式课程设计中,我们重点探讨了五个核心的设计模式:原型模式、单例模式、抽象工厂模式、代理模式和建造者模式。这些模式在Java编程中具有广泛的应用,能够帮助开发者创建更加灵活、可扩展和易于维护的代码...
《设计模式:可复用面向对象软件的基础》是一本经典的软件工程著作,它详细阐述了在面向对象编程中,如何通过使用预定义的解决方案模板来解决常见问题,从而提高代码的可读性、可维护性和复用性。设计模式是经验丰富...
中高级内容则深入探讨如何理解这些模式,包括模式中蕴涵什么样的设计思想,模式的本质是什么,模式如何结合实际应用,模式的优缺点以及与其他模式的关系等,以期让读者尽量去理解和掌握每个设计模式的精髓所在。...
每一种都以一个生活故事开始,然后是模式定义、模式分析、模式实现、设计原则和使用场合。模式实现通过eclipse中的java工程展开,采用软件编程诠释设计模式故事中的情节和操作,非常有趣。在这个基础上,总结该软件...
本教程对Java 23种设计模式进行了总结,涵盖了策略模式、观察者模式、装饰者模式、工厂方法模式、抽象工厂模式、单例模式、命令模式、适配器模式、外观模式、模板方法模式、迭代器模式、组合模式、状态模式、代理...
本书结合设计实例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。本书分类描述了一组设计良好、表达清楚的软件设计模式,这些模式在实用环境下特别...
设计模式是一套被重复使用的代码设计经验的总结,本书面向有一定Java语言基础和一定编程经验的读者。旨在培养读者良好的设计模式思维方式,加强对面向对象思想的理解。全书共分12章,首先强调了接口和抽象类在设计...
第一篇分为8章,介绍了软件体系结构的基础理论,包括软件体系结构的概念及演化、软件建模基础、软件体系结构的形式化、软件体系结构的风格、体系结构的描述语言、软件质量建模、设计模式等内容。第二篇分为4章,首先...