某学院《设计模式》课题设计开题报告_第1页
某学院《设计模式》课题设计开题报告_第2页
某学院《设计模式》课题设计开题报告_第3页
某学院《设计模式》课题设计开题报告_第4页
某学院《设计模式》课题设计开题报告_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华南农业大学珠江学院设计模式课题设计开题报告专业:_计算机科学与技术_班级:_08计算机科学与技术01_学号: _8_姓名:_罗会枫_导师:_张基温_题目:对观察者模式和代理模式的设计开题日期:2011年5月27日目录1.对设计模式的总体认识或意义本学期第三周开始接触设计模式至今,已有十一周的时间。在这十一周的时间里我本人断断续续的拿起设计模式的书籍学习其中的23中设计模式。虽然这次学习断断续续,但是对设计模式的认识还是蛮深的,也明白了其用于系统或软件开发中的意义。1.1总体认识在设计模式中“设计面向对象软件比较困难,而设计可复用的面向对象软件就更加困难。”给我很深的印象。软件的开发使用面向对象不仅要考虑到整个软件框架中成员的如何将他们分类,而且还要考虑到类之间的联系;当使用可复用的面向对象编程的时候,又要考虑到可复用性和可扩展性、可维护性等。其实,不管是我们开发软件还是系统中要这么考虑,就在平时的练习中考虑到这些问题时,设计时也会遇到这样那样的困难。当然如果平时都没有这么个习惯,那么开发软件或系统时再考虑,那么所遇到的困难就更重。只有在平时的学习中,养成良好的设计习惯,再往后的应用中使用面向对象这个思想才能游刃有余。设计模式包括创建型模式、结构型模式和行为型模式三大类型。1.1.1创建型模式创建型模式有Abstract Factory、Builder、Factory Method、Prototype、Singleton五种模式。创建型模式抽象了实例化过程。一个类创建型模式使用继承改变被实例化的类,二一个对象创建型模式将实例化委托给另一个对象。随着现代软件开发越来越依赖于对象复合而不是类继承,创建型模式变得更为重要。对创建型模式的应用主要考虑两个方面。第一,它们都将关于该系统使用哪些具体的类的信息封装起来。第二,它们隐藏了这些类的实例是如何被创建和放在一起的。整个系统关于这些对象所知道的是由抽象类所定义的接口。1.1.2结构型模式结构型模式涉及到如何组合类和对象以获得更大的结构。结构型类模式采用继承机制来组合接口或实现。而结构型对象模式不是对接口和实现进行组合,而是描述了如何对一些对象进行组合,从而实现新功能的一些方法。结构型模式主要有Adapter,Bridge,Composite,Decorator,Facade,Flyweight,Proxy这八中模式。1.1.3行为模式行为模式有以下十一种,包括Interpreter(解释器),Template Method(模板方法),Chain of Responsibility(职责链),Command(命令),Iterator(迭代器),Mediator(中介者),Memento(备忘录),Observer(观察者),State(状态),Strategy(策略),Visitor(访问者)。行为模式涉及到算法和对象间职责的分配。行为模式不仅描述对象或类的模式,还描述它们之间的同学模式。行为类模式使用继承机制在类间分派行为。代表是Template Method(模板方法)和Interpreter(解释器)。行为对象模式适用对象复合而不是继承。一些行为对象模式描述了一组对等的对象怎样相互协作以完成其中任一个对象都无法单独完成的任务。Mediator(中介者)在对等对象间引入一个mediator对象以避免这种情况的出现。mediator提供了松耦合所需的间接性。Chain of Responsibility(职责链)提供更松的耦合。Observer(观察者)模式定义了并支持对象间的依赖关系这23种模式中个人认为最难理解的是访问者、备忘录、适配器、外观、迭代器、观察者;而工厂模式几乎在每一个设计模式中都会现身其中,所以工厂模式是最基本的设计模式,也是所有设计模式的基础。在实际中,工厂方法模式、观察者模式、外观模式、适配器、策略模式又是最经常使用,对软件或系统的开发是相对最好的模式。设计模式的学习是“冰冻三尺非一日之寒”只有经常使用你才能更好的掌握。当然这些设计模式也并不是完美的,每个都有自己的优缺点,在实际应用中要综合各方面的因素选择合适的模式进行开发软件或系统。在这里就不阐述其中的优缺点。1.2实际开发中的意义1.2.1对于个人的意义当你对设计模式有了一定的认识和掌握,而且你在日后的软件或系统的开发中时常使用到,那么你就会形成一种良好的习惯。这种习惯会使你在IT行业有很好的立足之地。对于你个人的思维能力也是一个大的提升。1.2.2对软件或系统的实际意义在软件或系统的开发过程中使用可复用的面向对象设计模式,有利于提高软件或是系统的可复用性、可维护性、适用性、可扩展性。2.观察者模式2.1对观察者模式的认识2.1.1定义定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。2.1.2认识观察者模式就类似如这么一个例子,高中或初中的时候,一个学生在课室外的楼梯处放哨,一旦有老师过来就即刻通知课室的其他同学。其他同学接到通知即刻变得认真学习。2.1.3适用性当一个抽象模型有两个方面,其中一个方面依赖于另外一方面。将这两者封装在独立的对象中以使它们可以各自独立地改变和复用。当对一个对象的改变需要同时改变其它对象。而不知道具体有多少对象有待改变。当一个对象必须通知其它对象,而它又不能假定其它对象是谁。换言之,你不希望这些对象是紧耦合的。2.1.4对本模式的构思对于观察者模式,我的构思主要是利用MVC模式针对某个系统或是软件中某个操作的完成会触发或引起某些对象的改变来设计本模式。当管理器C(客户端)改变时,触发模型M(即subject)改变,其改变将反映在视图V(即observers)上。下面将以“电视报纸”为例。3.代理模式3.1对代理模式的认识3.1.1定义为其他对象提供一种代理以控制对这个对象的访问。3.1.2认识代理模式有以下几种形式:远程代理,也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实。虚拟代理,是根据需要创建开销很大的对象。通过它来存放实例化需要很长的时间的真实对象。安全代理,用来控制真实对象访问时的权限。智能指引,是指当调用真实的对象时,代理处理另外的一些事。其实代理模式就是在访问对象时引入一定程度的间接性,使得代理模式可以存在多种的用途。例如我们打开HTML网页,我们使用数据库的访问权限等。3.1.3适用性在需要用比较通用和复杂的对象指针代理简单的指针的时候,使用代理模式。对指向实际对象的引用计数,这样当该对象没有引用时,可以自动释放它。当第一次引用一个持久对象时,将它装入内存。方便下次使用。在访问一个实际对象前,检查是否已经锁定了它,以确保其他对象不能改变它。3.1.4对本模式的构思对于代理模式,我的构思是以远程代理为主设计某一个对象在不同的地址空间提供局部代表。目的是减轻某个对象被访问的频繁度,以及不至于软件或系统的某个对象被同时访问时起冲突发生错误,导致软件或系统崩溃。4.工作进度安排以本人本学期的进程为基础制定本课题设计的进度安排,基本情况如下表1所示:工作进度安排 表1开始时间结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论