程序设计与方法学(共10页)_第1页
程序设计与方法学(共10页)_第2页
程序设计与方法学(共10页)_第3页
程序设计与方法学(共10页)_第4页
程序设计与方法学(共10页)_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、 西安科技(kj)大学 程序设计(chn x sh j)方法学 的复习笔记 姓名(xngmng): XXX 学号: 120801XXXX 专业班级:软件工程12XX班第一章绪论(xln):一:程序设计方法学:指的是在计算机上用可执行的程序化代码来有效的描述与解决特定问题算法(sun f)的过程。历经(l jn)阶段:面向计算机的程序设计 2、面向过程的程序设计 3、面向对象的程序设计 (封装,继承,;多态) 4、面向组件式的程序设计 5、其他的程序设计(递归,嵌入式) 二:三种基本的程序结构(结构流程图) 1:选择结构 2:顺序结构 3:循环结构三:算法: 含义:所谓算法就是指解决特定问题而需

2、要执行者一步一步的施行的有穷操作过程的描述。 5大特征:有穷行 确定性 数据输入 信息输出 可执行性四:程序设计的表示方法:图形(程序流程图) 表格(判定表) 语言(程设计语言)五:程序设计的基本特征 结构化 模块化 对象化 (OOP,Object Oriented Programming) 智能化 (AOP, Agent Oriented Programming) 第二章节 一:图灵机的概念: 图灵机是一种抽象计算模型,用来精确定义可计算函数,是由一个控制器和一根假设无线长的工作带组成,工作带起着储存作用,被划分为很多大小相同的方格,每个方格上可以书写特定的英文字母二: 通用图灵机的思想:

3、把任意一台图灵机T的指令表编码成在磁带上表示为0和1的串。第三章 结构化程序设计方法 一:GOTO语句的三大缺点: 1、破换了程序的动静一致性 2、程序不易测试 3、限制了代码的优化二:结构化程序设计: 1:所谓结构化程序设计:就是采用以逐步降低算法抽象级为中心的一套程序设计方法而得到的具有良好(lingho)结构的程序。 2:好的结构化程序的特点(tdin): 一个比较(bjio)好的结构程序在结构方面应具有以下两个特点: (1)大型程序按照其功能进行模块化分 (2)每一个基本程序单元具有的特征: 单入口、单出口 由三种基本结构组成,控制使用goto语句 无死语句,即程序中不存在永远执行不到

4、的语句 无死循环 书写格式清晰 3:优点(1)程序便于分工编制(2)有利于提高软件的生产效率(3)结构清晰,易于阅读理解和保证其可靠性(4)易于修改,便于维护和验证其正确性(5)易于移植三:逐步求精含义:既是一种程序设计方法,也是验证程序正确性的方法四:NS图主要特点是:(1)不使用流线,即不允许流程任意转移,而只能从上到下顺序进行。这样避免了流程转来转去而影响流程思路的理解;(2)采用三种基本结构作为构造算法的基本单元: 1)顺序结构:在这种结构中各模块是按照他们出现的先后顺序执行的,即A模块先于B模块执行,A与B模块之间是顺序关系 1、选择结构:在计算机应用的许多场合,要求程序按照给定的条

5、件进行分析、比较和判断,并根据判断后的不同情况进行不同的处理。此类情况即为选择结构 循环结构:循环是指对同一个程序段重复执行若干次,被重复执行的部分成为循环体。循环结构就是根据给定条件成立与否,来决定是否执行循环体。五:非结构化到结构化程序的转化(zhunhu)1:代码(di m)复制法2:条件(tiojin)复合技术3:布尔标志技术第四章:设计模式一: 设计模式的三种模型分类: A 创建型模式:5种 1、单例模式:单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例单例模式。单例模式只应在有真正的“单一实例”的需求时才可使用。 2、抽象工厂模式:客户类和工厂类分开。消费者

6、任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。 3、建造者模式:将对象的内部表象和对象的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。建造模式使得产品内部表象可以独立的变化,客户不必知道产品内部组成的细节(xji)。建造模式可以强制实行一种分步骤进行的建造过程。 4、工厂模式:核心工厂类不再负责所有产品的创建,而是将具体创建的工作交给(jio i)子类去做,成为一个抽象工厂角色,仅负责给出具体工厂类必须实现的接口,而不接触哪一个产品类应当被实例化这种细节。 5、原型模

7、式:通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的方法创建出更多同类型的对象。原始模型模式允许动态的增加或减少产品类,产品类不需要非得有任何事先确定的等级(dngj)结构,原始模型模式适用于任何的等级结构。缺点是每一个类都必须配备一个克隆方法。 B 结构型模式:7种 1:适配器模式: 把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口原因不匹配而无法一起工作的两个类能够一起工作。适配类可以根据参数返还一个合适的实例给客户端。 2:桥接模式: 将抽象化与实现化脱耦,使得二者可以独立的变化,也就是说将他们之间的强关联变成弱关联,也就是指在一个软件系统的抽象化和

8、实现化之间使用组合/聚合关系而不是继承关系,从而使两者可以独立的变化。 3:装饰模式:装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案,提供比继承更多的灵活性。动态给一个对象增加功能,这些功能可以再动态的撤消。增加由一些基本功能的排列组合而产生的非常大量的功能。 4:组合模式: 5:外观模式: 6:享元模式:享元模式以共享的方式高效的支持大量的细粒度对象。享元模式能做到共享的关键是区分内蕴状态和外蕴状态。 7: 代理模式;代理模式给某一个对象提供一个代理对象,并由代理对象控制(kngzh)对源对象的引用。 C 行为(xngwi)型模式: 模版方法模式(msh)、命令模式、迭

9、代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。策略模式:策略模式针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式把行为和环境分开。环境类负责维持和查询行为类,各种算法在具体的策略类中提供。由于算法和环境独立开来,算法的增减,修改都不会影响到环境和客户端模板方法模式:模板方法模式准备一个抽象类,将部分逻辑以具体方法以及具体构造子的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑

10、有不同的实现。先制定一个顶级逻辑框架,而将逻辑的细节留给具体的子类去实现面向对象编程(OOP)技术面向对象(OO)技术向对象编程语言(OOPL)的三大机制“封装、继承、多态”第五章 组件组件的概念:可以自行进行内部管理的一个或多个类组成的群体组件技术的特点:真正的软件重用和高度的互操作性接口的可靠性可扩充服务具有强有力的基础设施具有构建和胶合组件的工具常用(chn yn)的组件模型对象管理(gunl)组织OMG( Object Management Group,)的 公共对象请求(qngqi)代理体系结构 CORBA(Common Object Request Broker Architect

11、ure, ) Microsoft公司的 组件对象模型COM( Component Object Model,)/分布式组件对象模型DCOM(Distributed )SUN公司的EJB(Enterprise JavaBeans )组件技术与面向对象技术的比较: 组件技术 面向对象技术目标 应用程序间的更大范围的组件的重用 应用程序内更大行为的重用基本关系 请求/响应的关系 行为的继承关系重点 组件接口不变 可扩展的类的层次关系最终目的 应用程序具有定义良好的接口, 应用程序通过对象、类的层次关 可以很容易地替换其中的组件 系的扩展来改变行为 IUnknown()接口是COM组件的核心接口,所有

12、其他COM接口都必须从IUnknown继承。IUnknown接口包含了三个成员函数(方法):QueryInterfaceAddRefReleaseCOM接口(ji ku)的特点1、二进制特性(txng):接口规范并不建立在任何编程语言的基础上,而是规定了二进制一级的标准。任何语言只要有足够(zgu)的数据表达能力,就可以对接口进行描述,从而可以用于组件程序有关的应用开发。2、接口不变性:接口是组件客户程序和组件对象之间的桥梁,接口如果经常发生变化,则客户程序和组件程序也要跟着变化,这对于应用系统的开发非常不利,也不符合组件化程序设计的思想,所以接口应该保持不变3、继承性:COM接口具有普遍性,

13、但不变性并不意味着接口不再发展,随着应用系统和组件程序的发展,接口也需要发展。类似于C+中类的继承性,接口也可以继承发展,但接口继承与类继承不同。4、多态性:多态性是面向对象系统的重要特性,COM对象也具有多态性,其多态性通过COM接口体现。第六章 递归程序设计方法递归模型:f(S 0)=M 0 (0为下标)递归求值过程就是从一个已知值推出下一个值的过程。 递归的执行过程: 分解和求值 历经很多步才能求出最后的值 递归问题 从大到小的分解和树型结构的从整体到局部的分解是类似的 第一次调用就是对应树型的根节点,递归调用的结束就对应树的叶子节点,递归的实现转化为树的遍历递归算法(sun f)到非递

14、归算法的变换采用迭代(di di)解法末尾(mwi)递归的消除使用堆栈 使用堆栈的思想:如果一个递归问题既不容易找到迭代方法又不属于末尾递归的情况,总还可以利用堆栈为其设计出非递归的算法第九章:AndroidAndroid 的优点:1、真正开放性2、应用程序相互平等3、应用程序之间沟通无界限4、快速方便的应用程序开发Android 的系统四层架构 第一层以Linux内核工作为基础,由C语言开发,只提供由操作系统内核管理的底层基本功能;第二层为中间件层,包括函数库Library和虚拟机Virtual Machine,由C+开发;第三层为应用程序框架层,提供了Android平台基本的管理功能和组件重

温馨提示

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

评论

0/150

提交评论