最近参加了公司的一个外部培训,就是胡协刚老师的设计模式培训,哎,名声这么大,中国架构师网首席架构师,讲课的水平确实不是特别高,培训时被无数次挑战,很多话都是问句,要知道每次争取培训机会都是比较难的,往往刚发出来通知,就已经被如狼似虎的同志们抢光了,
再就是培训的费用是很高的每天超过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
分享到:
相关推荐
自己在实际项目开发中,用到的设计模式,前几天刚对进行公司内部培训。在次进行分享,互相交流学习。
本资源为一份完整的软件设计模式大作业,涵盖了六种设计模式的应用,分别是简单工厂模式、工厂方法模式、单例模式、门面模式、策略模式和观察者模式。该大作业的主要内容包括系统流程、系统类图、各个模式的子类图、...
公司内部的设计模式的培训资料,包括代码——实例。高级设计模式培训师主讲。
作者: 郭峰 出版社:中国铁道出版社 ... 《深入浅出设计模式》适用于中、高级软件设计和开发人员,尤其是已经学习过设计模式但没有收获的开发人员,同时也可作为高校相关专业师生和社会培训班的教材。
《Android 源码设计模式解析与实战》不仅分析了Android源代码的设计模式,更结合实例演示了如何使用这些设计模式。看这本书,既能学到如何分析、学习Android源代码,又能提高自己架构设计水平 《Android 源码设计...
设计模式是构建大型软件系统zui强大的方法之一,优化软件架构和设计...全书囊括单例设计模式、工厂模式、门面模式、代理模式、观察者模式、命令模式、模板方法模式、复合模式、状态设计模式以及反模式等多种设计模式。
在提供的文件“期末作业实验报告.docx”和“FinalText”中,可能包含了使用这三种设计模式的具体实现案例、代码示例以及分析。这些文件可以帮助我们深入理解如何在实际项目中应用这些设计模式,如何通过它们提高代码...
本科阶段写过一个小游戏,是一门课的大作业,当时能力有限,代码能力以及对设计模式的理解和运用都不够,后来研究生期间,由于《软件结构设计与模式分析》这门课的期末考试需要我们编写并分析一个软件,软件类型不限...
《Head First设计模式》是一本深受开发者喜爱的经典书籍,它以独特且易于理解的方式介绍了设计模式这一复杂的概念。设计模式是软件开发中的经验总结,是解决常见问题的有效模板,可以帮助我们编写更灵活、可维护和可...
根据提供的文档概览,我们可以对每个章节所涉及的设计模式进行详细的阐述和解释。下面将针对文档中提及的设计模式逐一展开,以便更好地理解这些模式的概念、结构、应用场景以及优缺点。 ### 1. 面向对象程序设计...
在本设计模式课程设计中,我们重点探讨了五个核心的设计模式:原型模式、单例模式、抽象工厂模式、代理模式和建造者模式。这些模式在Java编程中具有广泛的应用,能够帮助开发者创建更加灵活、可扩展和易于维护的代码...
《设计模式:可复用面向对象软件的基础》是一本经典的软件工程著作,它详细阐述了在面向对象编程中,如何通过使用预定义的解决方案模板来解决常见问题,从而提高代码的可读性、可维护性和复用性。设计模式是经验丰富...
接下来,《界面设计模式(第2版)》收集并分析了很多常用的界面设计模式,帮助读者理解在实现级别的各种常用解决方案,将它们灵活地运用到自己的设计中。 同时,随着网络和技术的不断发展,《界面设计模式(第2...
通过分析Android系统中的设计模式来提升大家对设计模式的理解,从源码的角度来剖析既增加了对Android系统本身的了解,也从优秀的设计中领悟模式的实际运用以及它适用的场景,避免在实际开发中的生搬硬套。
《23种设计模式彩图-PDF高清版》是一本专注于设计模式的教材,它不仅仅提供文字性的描述,而是结合了色彩丰富的UML(统一建模语言)图示,帮助读者以更直观的方式理解和记忆这23种设计模式。设计模式是软件工程中...
本书结合设计实例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。本书分类描述了一组设计良好、表达清楚的软件设计模式,这些模式在实用环境下特别...
简约至上:交互式设计四策略.pdf 界面设计模式 Designing Interfaces 2nd Edition.pdf 瞬间之美+Web界面设计如何让用户心动.pdf
设计模式是一套被重复使用的代码设计经验的总结,本书面向有一定Java语言基础和一定编程经验的读者。旨在培养读者良好的设计模式思维方式,加强对面向对象思想的理解。全书共分12章,首先强调了接口和抽象类在设计...
第一篇分为8章,介绍了软件体系结构的基础理论,包括软件体系结构的概念及演化、软件建模基础、软件体系结构的形式化、软件体系结构的风格、体系结构的描述语言、软件质量建模、设计模式等内容。第二篇分为4章,首先...
3. 行为型模式:包括策略模式、模板方法模式、观察者模式、迭代器模式、命令模式、责任链模式、备忘录模式、状态模式、访问者模式和解释器模式。行为型模式主要处理对象之间的交互和职责分配,使代码更具灵活性和可...