Java中java创建session对象对象的语法是什么?

17:56 提问
创建对象和获取对象的方法区分
学习java没多久,心里有个疑惑,为什么有时需要new一个对象
比如: Student sru =new Student();
而有时候却是像工厂模式那样 ".",通过点的instance来获取.
上网查了下还有克隆方法获取对象的
那么该如何区分什么时候该用哪种方法获取对象呢.还是就像"1+1=2"一样,就是这么规定的,
我们只需要记住就可以了!!
按赞数排序
这里有两个问题,一个是,简单类型,比如 float int (string不是,但是string有简化的语法,看上去好像是简单类型),这些不需要new就可以使用
除此之外所有的类对象都需要new
这是第一个问题。
第二个问题,关于谁来new的问题。
我们可以让调用者自己new,也可以让类的实现者或者第三者来new:
static private A
A() {} //把默认的构造函数封闭,它是private的,只有内部才能new
static public A getInstance()
if (a == null) a = new A(); //内部new
这样外部只能通过调用
A a = A.getInstance(); 得到A的对象实例
这个经典的做法也叫“单例模式”
我们也可以由第三方初始化:
A foo() { return new A(); }
void main()
A a = new A(); //直接调用new
A a1 = foo(); //间接调用new
再多数几句,为什么有时候调用者创建对象,为什么有时候被调用者创建对象,为什么有时候第三方创建对象。
调用者创建对象这个最简单,不需要多讲。
被调用者创建对象有这么几个好处,一个是限制作用。比如说对于一个tree类型,我们要求所有的node必须在tree中拥有一个合法的位置,即不允许出现一个node的parent为空,或者它的两个子节点指向同一个node
这样的复杂的规定,调用者去实现,那么等于把相同的逻辑分散到了不同的代码中,违背了面向对象的封装性原则。有时候我们需要限制对象的数量。比如典型的单例模式,我们只允许有一个全局的对象,不能有多套,那么拽需要限制。
最后,第三方创建对象,这个也叫“工厂模式”,主要目的是实现依赖关系的反转。调用者创建对象,意味着如果要想让这个对象实现新的功能,编写了一个派生类,那么必须在调用者那里去调用新的类的构造函数。这不仅麻烦,而且更重要的是,有时候我们的实现类根本就是在调用者写好以后才编写的。比如说eclipse的插件,你不可能每写一个新的插件,就把 eclipse 的源代码修改编译一次,加上新的功能调用。那么这种情况下,我们创建对象的代码必须提取出来,放在外面,通常我们用反射实现动态加载。而eclipse的主程序,它是通过一个方法获取的插件,而不是自己创建,也就不需要调用new了。
感谢各位朋友的回答.你们回答很详细^灰常感谢
感谢各位朋友的回答.你们回答很详细^灰常感谢
可以理解为这是获取对象的两种方式,前者是自己显式new的方式,后者是调用类的静态方法来获取实例对象,但后者的本质也是new出来的对象。
刚学java还是先不要管设计模式了。其实本质是一样的,工厂模式是将new这一步放在instance方法中了,这样能控制实例化的对象数目。
创建对象,有对象的初始化过程(一般伴随着内存分配);
获取对象,即引用已存在的对象,那么对象不会执行初始化过程。
其他相似问题2014年5月 Java大版内专家分月排行榜第三
2014年5月 Java大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。java中类与对象,实例化三者之间的关系
我想知道它们三者之间的关系,最好有一段有说服力的代码
08-12-12 &
实例化是 用类或方法创建一个该类的实例 如 Date date=new Date();就是用日期类创建了一个日期的对象,就叫对象的实例化 引用和c里面的指针类似 是引用的内存地址 过程化与对象化相对 过程化是面向过程的 如c语言 对象化是指面向对象的 如java的面向对象
请登录后再发表评论!
你有其他语言基础吗? 类型--顾名思义,就是一个类别,比如说数值型包括int,float等等,int 就是整型,就是没有小数点.FLOAT呢就是浮点型,就是有小数点.还有其他类型,在这只做简单的说明. 对象--就是把具有相同部分的物体,抽象出一个概念.比如:车模型-就是一个对象,依据这个对象我创建了一个事实在在的轿车,那这个轿车就是一个实例.而这个过程就叫做实例化. 如果想学JAVA,建议你参加一个培训班,这样会有个方向. 回答
请登录后再发表评论!
用一个例子给你说明一下: 比如“人类”就是一个类,那么具体的某个人“张三”就是“人类”这个类的对象,而“名字、年龄”等信息就是对象的属性,人的动作比如“吃饭、穿衣”等就是对象的方法。总之类就是有相同特征的事物的集合,而对象就是类的一个具体实例。同时类有多态和继承,例如“人类”可以分为“男人、女人”,“老人、小孩”那么“男人、女人”就是“人类”的子类等等。一楼的说“轿车”是一个实例化,我觉得有点不妥,“轿车”应该是“车”的一个子类,例如“车牌号是***的轿车”才是一个对象。方法是被对象调用的比如“张三.穿衣()”,用static修饰的方法是静态的方法或称为共享方法,一般用类名直接调用。
请登录后再发表评论!
第4章 类 与 对 象4.1类与对象的概念4.2封装机制4.3数据成员4.4成员方法第4章 类 与 对 象4.1类与对象的概念程序设计所面对的问题域——客观世界,是由许多事物构成的,这些事物既可以是有形的(比如一辆汽车),也可以是无形的(比如一次会议)。把客观世界中的事物映射到面向对象的程序设计中就是对象。对象是面向对象程序设计中用来描述客观事物的程序单位。客观世界中的许多对象,无论其属性还是其行为常常有许多共同性,抽象出这些对象的共同性便可以构成类。所以,类是对象的抽象和归纳,对象是类的实例。第4章 类 与 对 象4.1.1抽象原则所谓抽象(abstraction),就是从被研究对象中舍弃个别的、非本质的、或与研究主旨无关的次要特征,而抽取与研究工作有关的实质性内容加以考察,形成对所研究问题正确的、简明扼要的认识。例如,“马”就是一个抽象的概念,实际上没有任何两匹马是完全相同的,但是我们舍弃了每匹马个体之间的差异,抽取其共同的、本质性的特征,就形成了“马”这个概念。抽象是科学研究中经常使用的一种方法,是形成概念的必要手段。在计算机软件开发领域,抽象原则的运用非常广泛,概括起来,可分为过程抽象和数据抽象两类。第4章 类 与 对 象1.过程抽象过程抽象是指:软件开发者可以把任何一个完成确定功能的操作序列都看作是一个单一的实体,尽管它实际上可能是由一系列更低级的操作完成的。运用过程抽象,软件开发者可以把一个复杂的功能分解为一些子功能(模块),如果子功能仍比较复杂,则可以进一步分解。这使得开发者可以在不同的抽象层次上考虑问题,在较高层次上思考时可以不关心较低层次的实现细节。面向过程的程序设计采用的是过程抽象方法。使用过程抽象有利于控制、降低整个程序的复杂度,但是,这种方法允许在全系统的范围内进行功能的描述,本身自由度大,难于规范化和标准化,不易保证软件的质量,而且操作起来也有一定难度。第4章 类 与 对 象2.数据抽象数据抽象把系统中需要处理的数据和施加于这些数据之上的操作结合在一起,根据功能、性质、作用等因素抽象成不同的抽象数据类型。每个抽象数据类型既包含了数据,也包含了针对这些数据的授权操作,并限定数据的值只能由这些操作来观察和修改。因此,数据抽象是相对于过程抽象更为严格、更为合理的抽象方法。面向对象的程序设计就是采用数据抽象这一方法来构建程序中的类和对象的。它强调把数据和操作结合为一个不可分的系统单位——对象,对象的外部只需要知道这个对象能做什么,而不必知道它是如何做的。第4章 类 与 对 象4.1.2对象只要仔细研究程序设计所面对的问题域——客观世界,我们就可以看到:客观世界是由一些具体的事物构成的,每个事物都具有自己的一组静态特征(属性)和一组动态特征(行为)。例如,一辆汽车有颜色、型号、马力、生产厂家等静态特征,又具有行驶、转弯、停车等动态特征。把客观世界的这一事实映射到面向对象的程序设计中,则把问题域中的事物抽象成了对象(Object),事物的静态特征(属性)用一组数据来描述,事物的动态特征(行为)则用一组方法来刻画。因此,对象具有下述特征:第4章 类 与 对 象(1) 对象标识:即对象的名字,是用户和系统识别它的唯一标志。例如,汽车的牌照可作为每一辆汽车对象的标识。对象标识有“外部标识”和“内部标识”之分。外部标识供对象的定义者或使用者用,内部标识供系统内部唯一地识别每一个对象。在计算机世界中,我们可以把对象看成计算机存储器中一块可标识的区域,它能保存固定或可变数目的数据(或数据的集合)。(2) 属性:即一组数据,用来描述对象的静态特征。例如,汽车的颜色、型号、马力、生产厂家等。在Java程序中,把这一组数据称为数据成员。第4章 类 与 对 象(3) 方法:也称为服务或操作,它是对象动态特征(行为)的描述。每一个方法确定对象的一种行为或功能。例如,汽车的行驶、转弯、停车等动作可分别用move( )、rotate( )、stop( )等方法来描述。为避免混淆,本书中把方法称为成员方法。在Java程序中,类是创建对象的模板,对象是类的实例,任何一个对象都是隶属于某个类的。Java程序设计是从类的设计开始的,所以,在进一步讲述对象的知识之前,必须先掌握类的概念。第4章 类 与 对 象4.1.3类对象是对事物的抽象,而类是对对象的抽象和归纳。人类在认识客观世界时经常采用的思维方法就是把众多的事物归纳成一些类。分类所依据的原则是抽象,即抽象出与当前目标有关的本质特征,而忽略那些与当前目标无关的非本质特征,从而找出事物的共性,把具有共同性质的事物归结为一类,得出一个抽象的概念——类。在面向对象的编程语言中,类是一个独立的程序单位,是具有相同属性和方法的一组对象的集合。类的概念使我们能对属于该类的全部对象进行统一的描述。例如,“树具有树根、树干、树枝和树叶,它能进行光合作用”。这个描述适合于所有的树,从而不必对每棵具体的树都进行一次这样的描述。因此,在定义对象之前应先定义类。描述一个类需要指明下述三个方面内容:第4章 类 与 对 象(1)类标识:类的一个有别于其他类的名字,这是必不可少的。(2)属性说明:用来描述相同对象的静态特征。(3)方法说明:用来描述相同对象的动态特征。第4章 类 与 对 象例如,下面是对dog类进行的描述:class dog // class指出这是一个类,dog是类标识{Sint AverageW 类的属性(静态特征)int AverageHpublic void move( ){ …… } 类的方法(动态特征)public void ShowDog( ){ …… }}dog类第4章 类 与 对 象4.1.4类与对象的关系类给出了属于该类的全部对象的抽象定义,而对象则是符合这种定义的一个实体。类与对象之间的关系就如同一个模具与用这个模具铸造出来的铸件之间的关系一样。也就是说,我们可以把类与对象之间的关系看成是抽象与具体的关系。在面向对象的程序设计中,对象被称作类的一个实例(instance),而类是对象的模板(temp1ate)。类是多个实例的综合抽象,而实例又是类的个体实物。如图4.1所示为类与对象的关系。第4章 类 与 对 象图4.1 类与对象的关系抽象实例化对象:刘丽静态特征:刘丽女讲师890.00动态特征:授课评职称调工资数据值执行的操作方法名数据结构类:教师属性:姓名性别职称工资服务:授课评职称调工资第4章 类 与 对 象4.1.5定义类的一般格式(1) 系统定义的类,即Java类库,它是系统定义好的类。类库是Java语言的重要组成部分。Java语言由语法规则和类库两部分组成,语法规则确定Java程序的书写规范;类库则提供了Java程序与运行它的系统软件(Java虚拟机)之间的接口。Java类库是一组由它的发明者SUN公司以及其他软件开发商编写好的Java程序模块,每个模块通常对应一种特定的基本功能和任务,且这些模块都是经过严格测试的,因而也总是正确有效的。当自己编写的Java程序需要完成其中某一功能的时候,就可以直接利用这些现成的类库,而不需要一切从头编写,这样不仅可以提高编程效率,也可以保证软件的质量。第4章 类 与 对 象(2) 用户自己定义的类。系统定义的类虽然实现了许多常见的功能,但是用户程序仍然需要针对特定问题的特定逻辑来定义自己的类。用户按照Java的语法规则,把所研究的问题描述成Java程序中的类,以解决特定问题。进行Java程序设计,首先应学会怎样定义类。在Java程序中,用户自己定义类的一般格式如下:class 类名{数据成员成员方法}第4章 类 与 对 象图4.2类的图形表示类名数据成员成员方法第4章 类 与 对 象可以看出,类的结构是由类说明和类体两部分组成的。类的说明部分由关键字class与类名组成,类名的命名遵循Java标识符的定义规则;类体是类声明中花括号所包括的全部内容,它又由数据成员(属性)和成员方法(方法)两部分组成。数据成员描述对象的属性;成员方法刻画对象的行为或动作,每一个成员方法确定一个功能或操作。图4.2为类的图形表示。第4章 类 与 对 象【示例程序c4_1.java】import java.awt.*; //引用系统类库中的awt包import java.applet.*; //引用系统类库中的applet包public class c4_1 extends Applet // 由applet类派生的c4_1类{ int a=5; //数据成员adouble b=23.4; //数据成员bpublic void paint(Graphics g) //成员方法paint{ //以下使用g对象的drawString方法g.drawString(&a=&+a,25,25);g.drawString(&b=&+b,25,35);}}第4章 类 与 对 象图4.3 程序c4_1的运行结果第4章 类 与 对 象4.1.6 Java类库要想掌握好Java的面向对象编程技术,编写出高质量的程序,必须对Java的类库有足够的了解。Java的类库是系统提供的已实现的标准类的集合,是Java编程的API(Application ProgramInterface),它可以帮助开发者方便、快捷地开发Java程序。Java类库的主要部分是由它的发明者SUN公司提供的,这些类库称为基础类库(JFC),也有少量则是由其他软件开发商以商品形式提供的。有了类库中的系统类,编写Java程序时就不必一切从头做起,避免了代码的重复和可能的错误,也提高了编程的效率。一个用户程序中系统标准类使用得越多、越全面、越准确,这个程序的质量就越高;相反,离开了系统标准类和类库,Java程序几乎寸步难行。第4章 类 与 对 象所以,学习Java语言程序设计,一是要学习其语法规则,即第2~3章中的基本数据类型、基本运算和基本语句等,这是编写Java程序的基本功;二是要学习使用类库,这是提高编程效率和质量的必由之路,甚至从一定程度上来说,能否熟练自如地掌握尽可能多的Java类库,决定了一个Java程序员编程能力的高低。我从第7章起主要讲述类库的使用。第4章 类 与 对 象在Java系统中,系统定义好的类根据实现的功能不同,可以划分成不同的集合。每个集合称为一个包,所有包合称为类库。根据功能的不同,Java类库的每个包中都有若干个具有特定功能和相互关系的类和接口。例如,java.lang包中包含了运行Java程序必不可少的系统类,
请登录后再发表评论!
摘  要:在分析国内外CSCW研究和发展的基础上,通过比较C/S和B/S的优缺点,提出了基于集群服务器的硬件平台,利用智能体Agent代理,采用B/S模式,并将Applet嵌入到浏览器中的CSCW系统,实现基于集群服务器的网络CSCW系统。CSCW与CAD如何结合众所周知,传统的产品设计是在图纸上手工设计为主,设计周期长,质量不能保证,设计成本高,CAD技术的的出现和发展大大改变了这种情况,产品设计有了质的飞跃,随着CAD系统的广泛使用与计算机支持的协同工作(CSCW)领域研究的迅速进展,人们正在寻求将CAD技术与CSCW技术结合起来,以开发出计算机支持的协同设计系统(CSCD)。    计算机支持的协同设计(CSCD)是CSCW的概念和技术在制造业产品开发过程中的有效应用。在信息化和数字化时代里,面对激烈的市场竞争环境,一个企业如何以团队精神和信息技术缩短其产品的开发周期,提高产品质量,降低成本和加强销售服务是其自身生存和发展的关键之一。这已经超越了设计人员个人的能力和单机的CAD系统的功能。发展计算机支持的协同设计(CSCD)工具和系统已成为一种必然的需求。众所周知,传统的产品设计是在图纸上手工设计为主,设计周期长,质量不能保证,设计成本高,CAD技术的的出现和发展大大改变了这种情况,产品设计有了质的飞跃,随着CAD系统的广泛使用与计算机支持的协同工作(CSCW)领域研究的迅速进展,人们正在寻求将CAD技术与CSCW技术结合起来,以开发出计算机支持的协同设计系统(CSCD)。这对于大型设备的联合数字化设计、数字化装配等设计过程特别有效,对于计算机集成制造系统(CMIS)和平行工程协同工作系统(CECWS)的进一步发展具有重要作用,将是CMIS和CECWS的重要组成部分。  
   CIMS有计算机网络和数据库两个支持系统,它由管理信息系统(MIS)、工程设计系统(CAD/CAPP/CAM)、质量保证系统、制造自动化系统等部分组成。如果将工程设计系统扩展成为在Extranet/Intranet支持下与CSCW的概念相结合的协同设计系统,就将构成比工程设计系统功能更强的CSCD系统。当然,如果制造自动化系统不局限于机械类制造业,也可以是其他工程建设,如建筑、水利等,那么CSCD和CIMS的系统概念就更加扩大了,乃至现代城市建设规划中都用得上计算机支持的协同设计这一概念和技术,进行所谓“虚拟城市”或“未来城市”的协同规划设计。  
   CSCD具有分布式的信息集成、过程集成和组织集成的特征,它以“产品”(广义的概念)为核心,不同学科和不同技术领域的人员可以进行分布式协同设计。这种产品设计开发的新型模式,把以信息的采集、传输与交换、加工处理、信息管理等为核心的协同数据库作为“信息集成”的基础,把基于工作流系统(WFMS)的协调和控制作为“过程集成”的方法,它基于团队并强调人与人之间的交互,有多方参与协同设计,体现出“组织集成”。CSCD系统的体系结构    通过上面介绍,可以看出,一个CSCD系统远比一个单纯CAD系统复杂。首先,它应该是运行在网络环境下; 其次,各CAD系统是自治的、任务是分工的; 第三,各CAD系统之间围绕设计而进行交互和协同; 第四,设计过程或进程要有协调控制; 第五,对设计数据、版本和结果要进行协同控制。因此,要考虑对各子系统的数据库进行协同控制与管理,即建立一种“数据库的协同管理系统”或简称“协同数据库”。这样,可以建立如图11所示的体系结构。根据这种体系结构结合实际任务与需求组建CSCD系统。一般地讲,组建的CSCD系统应具备下列集成的技术特性:  
   1.高速宽带网络,保证三维的、多媒体信息数据的正确可靠传输;  
   2.三维高性能CAD 工作站,能进行异地数字化设计和数字化装配;  
   3.提供进行实时交互的计算机多媒体会议系统,具有音频、视频、白板、共享应用功能;  
   4.以具有智能和动态特性的工作流管理系统来实现设计过程或进程的协调控制和管理;  
   5.建立一种“数据库的协同管理系统”对分布式异构数据库、设计数据、版本和结果进行协同控制和管理。  
   CSCD的协同工作模式  
   在CSCD系统中,分布在不同地点承担不同子任务的设计者之间的交互、通信和协商要贯穿在整个设计过程中,产品的需求分析、子任务的分配和设计执行过程、工程设计的完成等各个阶段都需在并行工程环境协同技术的支持下实现不同级别的通信和协商。一般地,我们可以根据各子任务和子系统在各个不同设计阶段相互关系耦合的紧密程度,把协同分成三种: 松散耦合、中度耦合及紧密耦合等三类。  
   1.松散耦合协同设计模式  
   各子任务之间的耦合比较松散,如果用“通信阻抗”这一概念来描述它们之间的通信耦合松紧程度的话,那么,在这种情况下,比较高的“通信阻抗”是可以接受的。所谓“通信阻抗”是指网络延迟、协议差别、格式变换等造成的通信困难程度。因为,各子任务之间的信息交换往往是只在问题求解的开始和结束阶段进行数据流的输入输出,重覆一次的通信周期又比较长,通信带宽比较低。松散耦合协同设计的一种最基本的方式,往往只要求设计者从一个软件程序中获取数据信息,然后作为另一个软件程序的输入,相互之间的交互较少或没有,最高级的方式只不过是要求这个过程是自动进行的。松散耦合协同设计模式是走向并行工程的最初一步。从技术上讲它可以直接从现有的分布式工程环境中获得,它可用于那些不需要进行大量的通信但相互相关的工程设计任务中。  
   2.中度耦合协同设计模式  
   各子任务之间有中等程度的耦合,“通信阻抗”不能太大。因为,在解决问题过程中各子任务之间要进行信息交换,而不只是在开始或结束的时候进行,通信耦合相对来说比较紧密。计算机支持工具要用来自动地管理各方之间的信息转换和传输: 如交互大多数是隐藏在接口程序里,网络的位置对用户是不大可见的,虽然接口工具必须感知它的存在; 在各方进行通信时,肯定会有许多变换,但都隐藏在计算机工具里等。然而仍然还存在着冗余和数据一致性问题,以及用户在某种程度上感知到网络的延迟。在中度耦合协同设计系统中可用一个共享数据库作为各子任务间的通信媒体,但需要解决好数据库访问的冲突问题。  
   3.紧密耦合协同设计模式  
   在这种模式中,一个设计任务往往是按层次结构划分成许多相互间关系密切的子任务,它们在并行工程的环境中执行。层与层之间通过接口或代理(Agents)进行交互,各子任务之间不仅有频繁的信息交换,而且结果也相互有影响,因此这是一种耦合很紧密的协同设计,要求其“通信阻抗”很小,特别是对那些进行实时协同设计的系统来说更是如此。  
   协同设计中的对象描述模型  
   前面论述了了协同设计中执行设计的各子任务之间的交互或通信问题。而在协同设计中另一个需要解决的问题则是关于设计对象的描述。因为参加协同设计的设计者会来自不同的学科、技术部门、承担不同的任务和担当不同的角色。因此。对于同一产品的描述,会从不同的角度和观念及其作用去考虑。这如同在房屋建筑设计中,对于墙、地板、门、窗这些基本构件,建筑设计师、结构工程师、制造与施工者会有不同的观念,会从不同的各个角度去描述和进行设计。这样,同一对象,就有多个不同的描述模型(组成、参数、功能、性能等)。单一描述模型在协同设计中就不是很方便了。例如,我们不能简单地只用“尺寸大小”或“一张蓝图”来描述一个“窗户”的设计,建筑设计师要从窗户的形状、美观、采光量等角度来进行设计,而结构工程师则会从结构强度、几何尺寸等方面加以设计,而制造与施工者也许会从材料、加工难易程度、完成时间等方面来考虑。他们既有自己的设计方案,也会向对方提出建议,或根据对方的意见来修改自己的设计,即相应的对象描述,这也是协同设计中的一种协调。  
   但在协同设计中,往往也可以通过以某种基于基本模型表示的方法来获得各种不同描述模型。这种基本模型表示了任何一个设计对象的功能特性和结构特性,它可以包括目的(purpose)、功能(function)、性能(behavior)和结构(structure)等。各种对象描述模型就可以根据其相应学科观念选择或强调相应的方面或参数,用此基本模型把设计对象表示出来。  
   基于互联网的协同设计  
   基于互联网开展分布式异构平台下的协同设计对于企业或企业集团来讲都具有很强的吸引力。这样的协同设计环境具有下列特性:  
   ● 在Extranet/Intranet乃至Internet环境,可以形成动态的随“产品”而转移的“虚拟设计组织”,支持同步或异步协同设计;  
   ● 基于互联网和C/S结构;  
   ● 支持HTTP超文本和3D技术;  
   ● 具有协同工作描述语言或CORBA技术以提供在异构分布环境下的各对象系统之间的无缝连接和互操作;  
   ● 至少应具有数据库协同管理功能,以解决设计过程中“产品”数据的一致性、安全性、版本管理等问题。
请登录后再发表评论!
摘  要:在分析国内外CSCW研究和发展的基础上,通过比较C/S和B/S的优缺点,提出了基于集群服务器的硬件平台,利用智能体Agent代理,采用B/S模式,并将Applet嵌入到浏览器中的CSCW系统,实现基于集群服务器的网络CSCW系统。CSCW与CAD如何结合众所周知,传统的产品设计是在图纸上手工设计为主,设计周期长,质量不能保证,设计成本高,CAD技术的的出现和发展大大改变了这种情况,产品设计有了质的飞跃,随着CAD系统的广泛使用与计算机支持的协同工作(CSCW)领域研究的迅速进展,人们正在寻求将CAD技术与CSCW技术结合起来,以开发出计算机支持的协同设计系统(CSCD)。  计算机支持的协同设计(CSCD)是CSCW的概念和技术在制造业产品开发过程中的有效应用。在信息化和数字化时代里,面对激烈的市场竞争环境,一个企业如何以团队精神和信息技术缩短其产品的开发周期,提高产品质量,降低成本和加强销售服务是其自身生存和发展的关键之一。这已经超越了设计人员个人的能力和单机的CAD系统的功能。发展计算机支持的协同设计(CSCD)工具和系统已成为一种必然的需求。众所周知,传统的产品设计是在图纸上手工设计为主,设计周期长,质量不能保证,设计成本高,CAD技术的的出现和发展大大改变了这种情况,产品设计有了质的飞跃,随着CAD系统的广泛使用与计算机支持的协同工作(CSCW)领域研究的迅速进展,人们正在寻求将CAD技术与CSCW技术结合起来,以开发出计算机支持的协同设计系统(CSCD)。这对于大型设备的联合数字化设计、数字化装配等设计过程特别有效,对于计算机集成制造系统(CMIS)和平行工程协同工作系统(CECWS)的进一步发展具有重要作用,将是CMIS和CECWS的重要组成部分。
 CIMS有计算机网络和数据库两个支持系统,它由管理信息系统(MIS)、工程设计系统(CAD/CAPP/CAM)、质量保证系统、制造自动化系统等部分组成。如果将工程设计系统扩展成为在Extranet/Intranet支持下与CSCW的概念相结合的协同设计系统,就将构成比工程设计系统功能更强的CSCD系统。当然,如果制造自动化系统不局限于机械类制造业,也可以是其他工程建设,如建筑、水利等,那么CSCD和CIMS的系统概念就更加扩大了,乃至现代城市建设规划中都用得上计算机支持的协同设计这一概念和技术,进行所谓“虚拟城市”或“未来城市”的协同规划设计。
 CSCD具有分布式的信息集成、过程集成和组织集成的特征,它以“产品”(广义的概念)为核心,不同学科和不同技术领域的人员可以进行分布式协同设计。这种产品设计开发的新型模式,把以信息的采集、传输与交换、加工处理、信息管理等为核心的协同数据库作为“信息集成”的基础,把基于工作流系统(WFMS)的协调和控制作为“过程集成”的方法,它基于团队并强调人与人之间的交互,有多方参与协同设计,体现出“组织集成”。CSCD系统的体系结构  通过上面介绍,可以看出,一个CSCD系统远比一个单纯CAD系统复杂。首先,它应该是运行在网络环境下; 其次,各CAD系统是自治的、任务是分工的; 第三,各CAD系统之间围绕设计而进行交互和协同; 第四,设计过程或进程要有协调控制; 第五,对设计数据、版本和结果要进行协同控制。因此,要考虑对各子系统的数据库进行协同控制与管理,即建立一种“数据库的协同管理系统”或简称“协同数据库”。这样,可以建立如图11所示的体系结构。根据这种体系结构结合实际任务与需求组建CSCD系统。一般地讲,组建的CSCD系统应具备下列集成的技术特性:
 1.高速宽带网络,保证三维的、多媒体信息数据的正确可靠传输;
 2.三维高性能CAD 工作站,能进行异地数字化设计和数字化装配;
 3.提供进行实时交互的计算机多媒体会议系统,具有音频、视频、白板、共享应用功能;
 4.以具有智能和动态特性的工作流管理系统来实现设计过程或进程的协调控制和管理;
 5.建立一种“数据库的协同管理系统”对分布式异构数据库、设计数据、版本和结果进行协同控制和管理。
 CSCD的协同工作模式
 在CSCD系统中,分布在不同地点承担不同子任务的设计者之间的交互、通信和协商要贯穿在整个设计过程中,产品的需求分析、子任务的分配和设计执行过程、工程设计的完成等各个阶段都需在并行工程环境协同技术的支持下实现不同级别的通信和协商。一般地,我们可以根据各子任务和子系统在各个不同设计阶段相互关系耦合的紧密程度,把协同分成三种: 松散耦合、中度耦合及紧密耦合等三类。
 1.松散耦合协同设计模式
 各子任务之间的耦合比较松散,如果用“通信阻抗”这一概念来描述它们之间的通信耦合松紧程度的话,那么,在这种情况下,比较高的“通信阻抗”是可以接受的。所谓“通信阻抗”是指网络延迟、协议差别、格式变换等造成的通信困难程度。因为,各子任务之间的信息交换往往是只在问题求解的开始和结束阶段进行数据流的输入输出,重覆一次的通信周期又比较长,通信带宽比较低。松散耦合协同设计的一种最基本的方式,往往只要求设计者从一个软件程序中获取数据信息,然后作为另一个软件程序的输入,相互之间的交互较少或没有,最高级的方式只不过是要求这个过程是自动进行的。松散耦合协同设计模式是走向并行工程的最初一步。从技术上讲它可以直接从现有的分布式工程环境中获得,它可用于那些不需要进行大量的通信但相互相关的工程设计任务中。
 2.中度耦合协同设计模式
 各子任务之间有中等程度的耦合,“通信阻抗”不能太大。因为,在解决问题过程中各子任务之间要进行信息交换,而不只是在开始或结束的时候进行,通信耦合相对来说比较紧密。计算机支持工具要用来自动地管理各方之间的信息转换和传输: 如交互大多数是隐藏在接口程序里,网络的位置对用户是不大可见的,虽然接口工具必须感知它的存在; 在各方进行通信时,肯定会有许多变换,但都隐藏在计算机工具里等。然而仍然还存在着冗余和数据一致性问题,以及用户在某种程度上感知到网络的延迟。在中度耦合协同设计系统中可用一个共享数据库作为各子任务间的通信媒体,但需要解决好数据库访问的冲突问题。
 3.紧密耦合协同设计模式
 在这种模式中,一个设计任务往往是按层次结构划分成许多相互间关系密切的子任务,它们在并行工程的环境中执行。层与层之间通过接口或代理(Agents)进行交互,各子任务之间不仅有频繁的信息交换,而且结果也相互有影响,因此这是一种耦合很紧密的协同设计,要求其“通信阻抗”很小,特别是对那些进行实时协同设计的系统来说更是如此。
 协同设计中的对象描述模型
 前面论述了了协同设计中执行设计的各子任务之间的交互或通信问题。而在协同设计中另一个需要解决的问题则是关于设计对象的描述。因为参加协同设计的设计者会来自不同的学科、技术部门、承担不同的任务和担当不同的角色。因此。对于同一产品的描述,会从不同的角度和观念及其作用去考虑。这如同在房屋建筑设计中,对于墙、地板、门、窗这些基本构件,建筑设计师、结构工程师、制造与施工者会有不同的观念,会从不同的各个角度去描述和进行设计。这样,同一对象,就有多个不同的描述模型(组成、参数、功能、性能等)。单一描述模型在协同设计中就不是很方便了。例如,我们不能简单地只用“尺寸大小”或“一张蓝图”来描述一个“窗户”的设计,建筑设计师要从窗户的形状、美观、采光量等角度来进行设计,而结构工程师则会从结构强度、几何尺寸等方面加以设计,而制造与施工者也许会从材料、加工难易程度、完成时间等方面来考虑。他们既有自己的设计方案,也会向对方提出建议,或根据对方的意见来修改自己的设计,即相应的对象描述,这也是协同设计中的一种协调。
 但在协同设计中,往往也可以通过以某种基于基本模型表示的方法来获得各种不同描述模型。这种基本模型表示了任何一个设计对象的功能特性和结构特性,它可以包括目的(purpose)、功能(function)、性能(behavior)和结构(structure)等。各种对象描述模型就可以根据其相应学科观念选择或强调相应的方面或参数,用此基本模型把设计对象表示出来。
 基于互联网的协同设计
 基于互联网开展分布式异构平台下的协同设计对于企业或企业集团来讲都具有很强的吸引力。这样的协同设计环境具有下列特性:
 ● 在Extranet/Intranet乃至Internet环境,可以形成动态的随“产品”而转移的“虚拟设计组织”,支持同步或异步协同设计;
 ● 基于互联网和C/S结构;
 ● 支持HTTP超文本和3D技术;
 ● 具有协同工作描述语言或CORBA技术以提供在异构分布环境下的各对象系统之间的无缝连接和互操作;
 ● 至少应具有数据库协同管理功能,以解决设计过程中“产品”数据的一致性、安全性、版本管理等问题。 个人观点,供参考:行 18: string userName = Request.Form[&userName&].ToString();行 19: string userPwd = Request.Form.Get(&userPwd&).ToString();Request.Form[&userName&] 或 Request.Form.Get(&userPwd&) 为 null  此时你再调用 .ToString() 方法自然会报此错..建议 在行18处加入断点进行调试..
请登录后再发表评论!}

我要回帖

更多关于 java 反射创建对象 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信