1、希赛网.EI.软件设计师考试面向对象技术讲师:王寄清www.ed29社会价希赛网.UIY.C课程内容提要面向对象的基本概念()UML用例图()类图()顺序图()通信图()状态图()活动图()设计模式()www.ed社会价值希赛网.I.面向对象的基本概念对象:属性(数据)+方法(操作)+对象ID类(实体类/控制类/边界类)继承与泛化:复用机制封装:隐藏对象的属性和实现细节,仅对外公开接口多态:不同对象收到同样的消息产生不同的结果接口:一种特殊的类,他只有方法定义没有实现回重载:一个类可以有多个同名而参数类型不同的方法模板类消息和消息通信:消息是异步通信的www.ed社会价值希赛网.UITY.C-
2、面向对象的基本概念面向对象设计7大原则单一职责原则:设计目的单一的类开放-封闭原则:对扩展开放,对修改封闭李氏(Liskov)替换原则:子类可以替换父类依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不要针接口隔商原则:使用多个专门的接口比使用单一的总接口要好组合重用原则:要尽量使用组合,而不是继承关系达到重用目的0迪米特(Demeter)原则(最少知识法则):一个对象应当对其他www.ed()希赛网UML类图对象更结构图包图组合结构图构件Booch部署图:软硬件之间映射制品图OOSEUML2.0OMT用例图:系统与外部参与者的交互顺序图:强调按时间顺序Jackson通信图(协作理)
3、结构化方法定时图行为图状态图面向数据结构活动腰:类似程序流程图,并行行交互览图www.ed士会价值(希赛网类围图类A类A类B子父英(a)关联关系6)依赖关系(c)泛化关系部分类整体类部分类】整体类类A类B(回合关系(e组合关系(0实现关系依赖关系:一个事物发生变化影响另一个事物,泛化关系:特/般关系久关联关系:描述了一组链,链是对像之间的连接。保合关系:整体与部分生命周腻不同,题合关螺之化组合关系:整体与部分生命周期相同实现关系:接口与类之间的关系www.e中上会价值()希赛网面向对象设计-设计模式的分类创建型模式行为型模式工D方法(factory method)摸试职责链(chain of
4、responsibility)模试抽象工厂(abstract factory)模式。命令(command)式原型(prototype)模试程盟interpreter试单例(singleton)模式选代器(iterator)横试构建器(builder)模式中介者(mediator)模试备忘录(memento)模式结构型模式观察者(observer)模式状态(state)横式活配盟(adapter】里式策路(strategy)模式桥接(bridge)横式扳方法(template method擅试组合(composite)横式访问者(visitor)模试装饰(decorator)模式外观(facad
5、e)模式享元(flyweight)模式代理(proy))横式(希赛网四面向对象设计一创建性模式设计横试名称要说明记关字Abstract Factory象工厂横式生产减列对像Builder将一个复众类的表示与其构造相分,使得相同的过调出不同的表示复杂对像构造Factory Method工方法试动态生产对像Prototype用原型实别指定创对的型,并且过物贝这个型克对橡保证一个类只有一个实,相供一个访它的全局单实湖士会价值希赛网.四面向对象设计-结构性模式设计模式名称简要说明速记关键字Adapter将一个类的接口转换成用户希望得到的另一种接口。它使适配器模式原本不相容的接口得以协同工作转换接口Br
6、idge将类的抽象部分和它的实现部分分离开来,使它们可以独继承树拆分2桥接模式立地变化Composite将对象组合成树型结构以表示“整体-部分”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性树形目录结构Decorator动态地给一个对象添加一些额外的职责。它提供了用子类装饰模式扩展功能的一个灵活的替代,比派生一个子类更加灵活附加职责Facade定义一个高层接口,为子系统中的一组接口提供一个一致外观模式的外观,从而简化了该子系统的使用对外统一接口Flyweight享元模式提供支持大量细粒度对象共享的有效方法文章共享文字对象Proxy代理模式为其他对象提供一种代理以控制这个对象的
7、访问www.ed社会价值希赛网.四面向对象设计-行为性模式(1)设计模式名界Chain of通过给多个对象处理请求的机会,减少请求的发送者与Responsibility接收者之间的耦合,将接收对象链接起来,在链中传递传递职责职责链模式请求,直到有一个对象处理这个请求Command将一个请求封装为一个对象,从而可用不同的请求对客命令模式户进行参数化,将请求排队或记录请求日志,支持可撤日志记录,可撤销销的操作Interpreter给定一种语言,定义它的文法表示,并定义一个解释器解释器模式该解释器用来根据文法表示来解释语言中的句子虚拟机的机制Iterator提供一种方法来顺序访问一个聚合对象中的各个
8、元素,迭代器模式而不需要暴露该对象的内部表示数据库数据集Mediator用一个中介对象来封装一系列的对象交互,它使各对象中介者模式不需要显式地相互调用,从而达到低耦合,还可以独立不直接引用地改变对象间的交互www.ed社会价值(希赛网四面向对象设计-行为性摸式()设计校式名称简要说明速记关键字原先保存的状态定义对象间的一种一对多的依关系,当一个对象的状态发生变时,所有依于它的对都得到通知井自动更斯联动State允许一个对像在其内部状态改变时放变它的行为桃态变成贵多方切物定义一个细作中的算法骨果,而将一些步延迟到子兴中可以不改变一个法的结物面可新义算法的黛板方法横试Visitor表示一个作用于某
9、对像结构中的各元素的操作,使得在不改访问者模试变各元康的的前下定义作用于这些元完的新作www.ed/金价(希赛网五创健型模试-工厂摸式(Factory Method)工厂模式的意图是:定义一个创建对橡的接口,但由子类决定需要实例化哪一个类工厂方法使得子类实例化的过程推迟。Product=FactorMethod0eturn new ConcreteProductProduct:产品角色定义产品的接口.ConcreteProduct:真实的产品,实现接口Product的类,*Creator:工厂角色声明工厂方法(Factory Method),返回一个产ConcreteCreator:真实的工厂实现Factory Method.工厂方法,由用,返回一个产品的实例.www.ec土金价值