华为面试题
response response 表示 HttpServletResponse 对象,并提供了几个用于设置送回 浏览器的响应的方法(如 cookies, 头信息等)
out out 对象是 javax.jsp.JspWriter 的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。
pageContext pageContext 表示一个 javax.servlet.jsp.PageContext 对象。它是用于方便存取各种范围的名字空间、 servlet 相关的对象的 API ,并且包装了通用的 servlet 相关功能的方法。
session session 表示一个请求的 javax.servlet.http.HttpSession 对象。 Session 可以存贮用户的状态信息
application applicaton 表示一个 javax.servle.ServletContext 对象。这有助于查找有关 servlet 引擎和 servlet 环境的信息
config config 表示一个 javax.servlet.ServletConfig 对象。该对象用于存取 servlet 实例的初始化参数。
page page 表示从该页面产生的一个 servlet 实例
姓名
:
|
年龄
:
|
住址
:
|
手机
:
|
姓名
|
|
E-mail
|
|
年龄
|
|
联系电话
|
|
姓名
:
|
年龄
:
|
住址
:
|
手机
:
|
Jsp
内置对象
|
功能
|
主要方法
|
out
|
向客户端输出数据
|
print() println() flush() clear() isAutoFlush() getBufferSize()
close() …………
|
request
|
向客户端请求数据
|
getAttributeNames() getCookies() getParameter() getParameterValues() setAttribute() getServletPath() …………..
|
response
|
封装了jsp产生的响应,然后被发送到客户端以响应客户的请求
|
addCookie() sendRedirect() setContentType()
flushBuffer() getBufferSize() getOutputStream()
sendError() containsHeader()……………
|
application
|
|
|
config
|
表示Servlet的配置,当一个Servlet初始化时,容器把某些信息通过此对象传递给这个Servlet
|
getServletContext() getServletName() getInitParameter()
getInitParameterNames()……………
|
page
|
Jsp实现类的实例,它是jsp本身,通过这个可以对它进行访问
|
flush()………
|
pagecontext
|
为JSP页面包装页面的上下文。管理对属于JSP中特殊可见部分中己经命名对象的该问
|
forward() getAttribute() getException() getRequest() getResponse()
getServletConfig()
getSession() getServletContext() setAttribute()
removeAttribute() findAttribute() ……………
|
session
|
用来保存每个用户的信息,以便跟踪每个用户的操作状态
|
getAttribute() getId()
getAttributeNames() getCreateTime() getMaxInactiveInterval()
invalidate() isNew()
|
exception
|
反映运行的异常
|
getMessage()…………
|
修饰符
|
类
|
成员方法
|
成员变量
|
局部变量
|
abstract
|
√
|
√
|
-
|
-
|
static
|
-
|
√
|
√
|
-
|
public
|
√
|
√
|
√
|
-
|
protected
|
-
|
√
|
√
|
-
|
private
|
-
|
√
|
√
|
-
|
private protected
|
-
|
√
|
√
|
-
|
synchronized
|
-
|
√
|
-
|
-
|
native
|
-
|
√
|
-
|
-
|
volatile
|
-
|
-
|
√
|
-
|
final
|
√
|
√
|
√
|
-
|
transient
|
-
|
-
|
√
|
√
|
修饰符
|
同类
|
同包
|
子孙类
|
不同包
|
public
|
√
|
√
|
√
|
√
|
protected
|
√
|
√
|
√
|
-
|
friendly
|
√
|
√
|
-
|
-
|
private
|
√
|
-
|
-
|
-
|
1.
5)
2.
1)
3.
2)3)
4.
4)
5.
4)
6.
3)
7.
3)
8.
3)
9.
3)
10.
2)3)
11.
3)
12.
1)
13.
3)
14.
1)2)3)
15.
4)
16.
3)
17.
1)2)
18.
4)
19.
2)3)
20.
3)
21.
1)
22.
1)
23.
3)
24.
2)
25.
2,3
26.
2)
27.
1)
28.
2
29.
4
30.
4
黑球。
软件研发人员笔试(初试)
2004年度软件研发人员招聘笔试试题(初试)
应聘者资料
:
试题一:基础知识(必作题)
1、从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内。
假设某计算机具有
1M 字节的内存(目前使用的计算机往往具有64M字节以上的内存),并按字节编址,为了能存取该内存各地址的内容,其地址寄存器至少需要二进制_A_位。为使4字节组成的字能从存储器中一次读出,要求存放在存储器中的字边界对齐,一个字的地址码应_B_。若存储周期为200NS,且每个周期可访问4个字节,则该存储器带宽为_C_BIT/S。假如程序员可用的存储空间为4M字节,则程序员所用的地址为_D_,而真正访问内存的地址称为_E_。
供选择的答案:
A:
①10 ②16 ③20 ④32
B:
①最低两位为00 ②最低两位为10 ③最高两位为00 ④最高两位为10
C:
①20M ②40M ③80M ④160M
D:
①有效地址 ②程序地址 ③逻辑地址 ④物理地址
E:
①指令 ②物理地址 ③内存地址 ④数据地址
2、从供选择的答案中。选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内。
给定结点的关键字序列(F、B、J、G、E、A、I、D、C、H),对它按字母的字典顺序进行排列,采用不同方法,其最终结果相同。但中间结果是不同的。
Shell排序的第一趟扫描(步长为5)结果应为_A_。
冒泡排序(大数下沉)的第一趟起泡的效果是_
B_.
快速排序的第一趟结果是_C_。
二路归并排序的第一趟结局是 _
D_。
供选择的答案
A:①(
B、F、G、J、A、D、I、E、H、C)
②(
B、F、G、J、A、E、D、I、C、H)
③(
A、B、D、C、E、F、I、J、G、H)
④(
C、B、D、A、E、F、I、G、J、H)
B:①(
A、B、D、C、F、E、I、J、H、G)
②(
A、B、D、C、E、F、I、H、G、J)
③(
B、F、G、E、A、I、D、C、H、J)
④(
B、F、G、J、A、E、D、I、C、H)
C:①(
C、B、D、A、F、E、I、J、G、H)
②(
C、B、D、A、E、F、I、G、J、H)
③(
B、A、D、E、F、G、I、J、H、C)
④(
B、C、D、A、E、F、I、J、G、H)
D:①(
B、F、G、J、A、E、D、I、G、H)
②(
B、A、D、E、F、G、I、J、H、C)
③(
A、B、D、C、E、F、I、J、G、H)
④(
A、B、D、C、F、E、J、I、H、C)
3、从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答.把相应编号写在答卷的对应栏内。
进程是操作系统中的一个重要概念。进程是一个具有一定独立功能的程序在某个数据集合上的一次_
A_。
进程是一个_
B_的概念,而程序是一个_C_的概念。
进程的最基本状态有_
D_。在一个单处理机中,若有6个用户进程,在非管态的某一时刻,处于就绪状态的用户进程最多有_E_个。
供选择的答案
A:①单独操作 ②关联操作 ③运行活动 ④并发活动
B:①静态 ②动态 ③逻辑 ④物理
C:①物理 ②逻辑 ③动态 ④静态
D:①就绪、运行、隐蔽 ②停止、就绪、运行③运行、就绪、阻塞 ④就绪、撤消、运行
E:①5 ②6 ③1 ④4
4、软件设计中划分模块的一个准则是_A_。两个模块之间的耦合方式中,_B_耦合的耦合度最高,_C_耦合的耦合度最低。一个模块内部的内聚种类中_D_内聚的内聚度最高,_E_内聚的内聚度最低。
供选择的答案
A:①低内聚低耦合②低内聚高耦合③高内聚低耦合④高内聚高耦合
B:①数据 ②非直接 ③控制 ④内容
C:①数据 ②非直接 ③控制 ④内容
D:①偶然 ②逻辑 ③功能 ④过程
E:①偶然 ②逻辑 ③功能 ④过程
5、从供选择的答案中选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内。
最常用的一种基本数据模型是关系数据模型,它用统一的_
A_结构来表示实体及实体之间的联系。关系数据库的数据操作语言(DML)主要包括_B_两类操作。
关系运算以关系代数为理论基础,关系代数的最基本操作是并、差、笛卡尔积、_C_。用R∣×∣S表示关系 R和关系 S的_D_。
设关系R和关系S图示如下:
R:
A B C
S: B C D T: A B C D
则关系T是关系R和关系S_
E _的结果。
供选择的答案
A:①树 ②网络 ③图 ④二维表
B:①插入和删除 ②检索和更新 ③查询和编辑 ④统计和修改
C:①投影、联接 ②联接、选择 ③选择、投影 ④交、选择
D:①联接 ②笛卡尔积 ③日联接 ④自然联接
E:①自然联接 ②θ联接 ③笛卡尔积 ④并
试题二:程序设计(任选一题)
1.用你所熟悉的任意一种程序语言,编写一个完整的过程,将一个字符串插入到另一个字符串的某个位置后面(例如:将“abc”插入到“abcdef”的第三个字符位置后面,结果为“abcabcdef”)。编写程序时,请在必要的地方加以注释(注:不能用该程序语言的内置函数或过程)。
2.用你所熟悉的任意一种程序语言,编写一个完整的过程,完成从一个给定的完整的文件路径(如“C:\My Documents\Software Test 1.00.doc”)中,析取文件名,扩展名和文件所处目录的功能,编写程序时,请在必要的地方加以注释(注:不能用该程序语言的内置函数或过程)。
试题三:数据库设计(任选一题)
1.下面的表有问题吗?如果有,如何改进?
*城市和街道联合做主键
分成二个表
,第一个表有以下字段:城市和街道,以城市作为主键;第二个表:街道和邮政编码,以街道为主键.通过街道与第一个表的街道相关联
2.假设有以下的两个表:
Cus_A
Cus_B
*主键
表
Cus_A和表Cus_B的结构完全相同,表Cus_A和表Cus_B中既存在ID相同的记录,也存在ID不同的记录。现要求将ID只存在于表Cus_A中而不存在于表Cus_B中的记录全部插入到Cus_B表中,并用表Cus_A中的记录更新表Cus_B中相同的ID的记录,请写出完成这一功能的存储过程。
Create or procedure test is
Declare id1 CusA.id%type;
Begin
Select id into id1 from CusA a,CusB b where a.id=b.id;
3、某公司正在开发一个档案管理系统,要求在关系数据库中实现和Windows文件系统完全一致的树状文件目录。为了实现这一目录结构,至少需求哪些表?请详细描述这些表的用途和结构(如有必要,可用图表进行描述)。最后,请用伪编码(或自然语言)描述按树状结构遍历所有档案的算法。
试题四:系统设计(任选一题)
1.简述“面向对象”的概念,并设计一个学校选课系统的对象模型。
2.简述“软件系统的两层和多层体系结构”的概念(如有必要,可用图表进行描述),并指出两者的主要区别。
3.简述一个软件工程的主要步骤,并指出每个步骤的明确目标及实施办法。最后分析哪些是关键步骤。
试题五:综合(必作题)
你认为在团队开发中,你能发挥自己的能力吗?为什么?当个人意见与主管出现矛盾时,你用什么方法解决?
试题六:其它(思考题)
您为何选择这类职业?
您生活的最终目标是什么?
您怎样做好准备来实现这些目标?
如果面试通过是否能够在工作遵循公司或客户公司的管理规定与制度及信息安全管理规定
?
软件研发人员招聘笔试(培训)
试题一:综合(基本知识引导,思考,)
1.
面向对象语言的特征
?Java I/O中字符流和字节流的区别?
2.
HashTable和HashMap的区别?EJB的生命周期? Servlet的生命周期?
3.
HTTP协议是长连接还是短连接?
4.
JAVA的基本数据类型有那些? String是不是基本类型?
5.
MVC的概念和在项目中的应用?
6.
如何避免多个
SOCKET的读写阻塞,JDK1.4新增了那些方法解决这个问题?
7.
如果一个变量的值为
NULL,观察以下程序:
8.
IF 变量=NULL THEN
分支
1;
ELSE
分支
2;
END IF
程序最终执行那一个分支
?
9.
JSP中有那些重定向方法,它们的区别?EJB的优势和特点?List 和 Vector的区别?
10.
在
ORACLE数据库中,一个表被删除后,还能否将空间分配给其它表,SQL SERVER哪?
11.
在
ORACLE数据库中,一个表有两千万条数据,怎样最有效的将其删除?
12.
在数据库中
,如果处理表中的每一条数据,用那种方法?
13.
发送一条邮件的几个步骤在
JNDI中如何初始化URL上下文
14.
常用的组件技术?会话
BEAN的属性?实体BEAN的属性?
15.
STATE SESSION BEAN 与STATELESS SESSION BEAN的区别?
16.
JMS编程具体步骤?事务模式?
17.
JAVA容器管理事务的事务属性为REQUIRESNEW的意义
18.
事务失败时的会话
BEAN的重新初始化方法
19.
WEBLOGIC SERVER中开发JDBC应用通常遵循的步骤
试题二:分类试题(分类必作题)
Java
基础
1.
作用域
public,private,protected,以及不写时的区别?
2.
ArrayList和Vector的区别,
HashMap和Hashtable的区别
3.
char型变量中能不能存贮一个中文汉字?为什么?
4.
多线程有几种实现方法
,都是什么?同步有几种实现方法,都是什么?
5.
继承时候类的执行顺序问题
,一般都是选择题,问你将会打印出什么?
6.
内部类的实现方式
?
父类:
package test; public class FatherClass { public FatherClass() { System.out.println("FatherClass Create"); } } 子类: package test; import test.FatherClass; public class ChildClass extends FatherClass { public ChildClass() { System.out.println("ChildClass Create"); } public static void main(String[] args) { FatherClass fc = new FatherClass(); ChildClass cc = new ChildClass(); } } 输出结果:
7.
You need to insert an inner class declaration at line 3. Which two inner class declarations are valid?(Choose two.)
public class OuterClass {
private double d1 = 1.0; //insert code here } You need to insert an inner class declaration at line 3. Which two inner class declarations are valid?(Choose two.)
A. class InnerOne{ //.静态内部类可以有静态成员,而非静态内部类则不能有静态成员
public static double methoda() {return d1;} } B. public class InnerOne{ //.静态内部类可以有静态成员,而非静态内部类则不能有静态成员 static double methoda() {return d1;} } C. private class InnerOne{ double methoda() {return d1;} } D. static class InnerOne{ protected double methoda() {return d1;} //静态内部类的非静态成员不可访问外部类的非静态变量 } E. abstract class InnerOne{ public abstract double methoda(); }
8.
垃圾回收机制
,如何优化程序?
9.
float型float f=3.4是否正确?
10.
介绍
JAVA中的Collection FrameWork(包括如何写自己的数据结构)?
11.
Java中异常处理机制,事件机制?
12.
JAVA中的多形与继承?
13.
抽象类与接口?
14.
Java 的通信编程,用JAVA SOCKET编程,读服务器几个字符,再写入本地显示?
15.
用
JAVA实现一种排序,JAVA类实现序列化的方法(二种)? 如在COLLECTION框架中,实现比较要实现什么样的接口?
16.
编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我
ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。
17.
STRING 与 STRINGBUFFER 的区别。
18.
== 与 equals 的区别
19.
JAVA的基本数据类型有哪些 ?String 是不是基本数据类型?
20.
面向对象语言的特征
:a抽象性 b封装 c继承 d多态
21.
链表和数组的区别
?
Jsp
基础
22.
jsp有哪些内置对象?作用分别是什么?
23.
jsp有哪些动作?作用分别是什么?
24.
JSP中动态INCLUDE与静态INCLUDE的区别?
25.
两种跳转方式分别是什么
?有什么区别?
Servlet
基础
26.
说一说
Servlet的生命周期?
27.
Servlet版本间(忘了问的是哪两个版本了)的不同?
28.
JAVA Servlet API中 forward() 与 redirect() 的区别?
29.
Servlet的基本架构
Jdbc
、
Jdo
基础
30.
可能会让你写一段
Jdbc连Oracle的程序,并实现数据查询
31.
Class.forName的作用?为什么要用?
32.
Jdo是什么?
33.
在
ORACLE大数据量下的分页解决方法。一般用截取ID方法,还有是三层嵌套方法。
Xml
基础
34.
xml有哪些解析技术?区别是什么?
35.
你在项目中用到了
xml技术的哪些方面?如何实现的?
36.
用
jdom解析xml文件时如何解决中文问题?如何解析?
37.
编程用
JAVA解析XML的方式
EJB
基础
38.
EJB2.0有哪些内容?分别用在什么场合? EJB2.0和EJB1.1的区别?
39.
EJB与JAVA BEAN的区别?
40.
EJB的基本架构?
41.
会话
BEAN 的属性?
42.
实体
BEAN 的属性?
43.
STATES SESSION BEAN 与 STATELESS SESSION BEAN的区别?
J2EE MVC
基础
44.
MVC的各个部分都有那些技术来实现?如何实现?
45.
应用服务器与
WEB SERVER的区别?
46.
J2EE是什么?
47.
WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。
48.
BS与CS的联系与区别。
49.
STRUTS的应用(如STRUTS架构)
设计模式方面
50.
开发中都用到了那些设计模式
?用在什么场合?
JavaScript
方面
51.
如何校验数字型
?
CORBA
方面
52.
CORBA是什么?用途是什么?
LINUX
方面
53.
LINUX下线程,GDI类的解释。
数据库方面
54.
写一个
SQL Server 中的存储过程:
55.
写一个
Oracle 中的存储过程:
HTTP
方面
56.
HTTP的请求过程:
JAVA
培训资料
一、Java语言
1、面向对象的三个基本特征
2、方法重载和方法重写的概念和区别
3、接口和内部类、抽象类的特性
4、文件读写的基本类
**5、串行化的注意事项以及如何实现串行化
6、线程的基本概念、线程的基本状态以及状态之间的关系
7、线程的同步、如何实现线程的同步
8、几种常用的数据结构及内部实现原理。
9、Socket通信(TCP、UDP区别及Java实现方式)
**10、Java的事件委托机制和垃圾回收机制
11、JDBC调用数据库的基本步骤
**12、解析XML文件的几种方式和区别
13、Java四种基本权限的定义
14、Java的国际化
二、JSP
1、至少要能说出7个隐含对象以及他们的区别
** 2、forward 和redirect的区别
3、JSP的常用指令
三、servlet
1、什么情况下调用doGet()和doPost()?
2、servlet的init()方法和service()方法的区别
3、servlet的生命周期
4、如何现实servlet的单线程模式
5、servlet的配置
6、四种会话跟踪技术
四、EJB
**1、EJB容器提供的服务
主要提供声明周期管理、代码产生、持续性管理、安全、事务管理、锁和并发行管理等服务。
2、EJB的角色和三个对象
EJB角色主要包括Bean开发者 应用组装者 部署者 系统管理员 EJB容器提供者 EJB服务器提供者
三个对象是Remote(Local)接口、Home(LocalHome)接口,Bean类
2、EJB的几种类型
会话(Session)Bean ,实体(Entity)Bean 消息驱动的(Message Driven)Bean
会话Bean又可分为有状态(Stateful)和无状态(Stateless)两种
实体Bean可分为Bean管理的持续性(BMP)和容器管理的持续性(CMP)两种
3、bean 实例的生命周期
对于Stateless Session Bean、Entity Bean、Message Driven Bean一般存在缓冲池管理,而对于Entity Bean和Statefull Session Bean存在Cache管理,通常包含创建实例,设置上下文、创建EJB Object(create)、业务方法调用、remove等过程,对于存在缓冲池管理的Bean,在create之后实例并不从内存清除,而是采用缓冲池调度机制不断重用实例,而对于存在Cache管理的Bean则通过激活和去激活机制保持Bean的状态并限制内存中实例数量。
4、激活机制
以Statefull Session Bean 为例:其Cache大小决定了内存中可以同时存在的Bean实例的数量,根据MRU或NRU算法,实例在激活和去激活状态之间迁移,激活机制是当客户端调用某个EJB实例业务方法时,如果对应EJB Object发现自己没有绑定对应的Bean实例则从其去激活Bean存储中(通过序列化机制存储实例)回复(激活)此实例。状态变迁前会调用对应的ejbActive和ejbPassivate方法。
5、remote接口和home接口主要作用
remote接口定义了业务方法,用于EJB客户端调用业务方法
home接口是EJB工厂用于创建和移除查找EJB实例
6、客服端调用EJB对象的几个基本步骤
一、设置JNDI服务工厂以及JNDI服务地址系统属性
二、查找Home接口
三、从Home接口调用Create方法创建Remote接口
四、通过Remote接口调用其业务方法
五、数据库
1、存储过程的编写
2、基本的SQL语句
六、weblogic
1、 如何给weblogic指定大小的内存?
在启动Weblogic的脚本中(位于所在Domian对应服务器目录下的startServerName),增加set MEM_ARGS=-Xms32m -Xmx200m,可以调整最小内存为32M,最大200M
2、 如何设定的weblogic的热启动模式(开发模式)与产品发布模式?
可以在管理控制台中修改对应服务器的启动模式为开发或产品模式之一。或者修改服务的启动文件或者commenv文件,增加set PRODUCTION_MODE=true。
3、 如何启动时不需输入用户名与密码?
修改服务启动文件,增加 WLS_USER和WLS_PW项。也可以在boot.properties文件中增加加密过的用户名和密码.
4、 在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中?
保存在此Domain的config.xml文件中,它是服务器的核心配置文件。
5、 说说weblogic中一个Domain的缺省目录结构?比如要将一个简单的helloWorld.jsp放入何目录下,然的在浏览器上就可打入http://主机:端口号//helloword.jsp就可以看到运行结果了? 又比如这其中用到了一个自己写的javaBean该如何办?
Domain目录\服务器目录\applications,将应用目录放在此目录下将可以作为应用访问,如果是Web应用,应用目录需要满足Web应用目录要求,jsp文件可以直接放在应用目录中,Javabean需要放在应用目录的WEB-INF目录的classes目录中,设置服务器的缺省应用将可以实现在浏览器上无需输入应用名。
6、 如何查看在weblogic中已经发布的EJB?
可以使用管理控制台,在它的Deployment中可以查看所有已发布的EJB
7、 如何在weblogic中进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置
缺省安装中使用
DemoIdentity.jks
和
DemoTrust.jks KeyStore实现SSL,需要配置服务器使用Enable SSL,配置其端口,在产品模式下需要从CA获取私有密钥和数字证书,创建identity和trust keystore,装载获得的密钥和数字证书。可以配置此SSL连接是单向还是双向的。
8、在weblogic中发布ejb需涉及到哪些配置文件
不同类型的EJB涉及的配置文件不同,都涉及到的配置文件包括ejb-jar.xml,weblogic-ejb-jar.xmlCMP实体Bean一般还需要weblogic-cmp-rdbms-jar.xml
9、EJB需直接实现它的业务接口或Home接口吗,请简述理由.
远程接口和Home接口不需要直接实现,他们的实现代码是由服务器产生的,程序运行中对应实现类会作为对应接口类型的实例被使用。
10、说说在weblogic中开发消息Bean时的persistent与non-persisten的差别
persistent方式的MDB可以保证消息传递的可靠性,也就是如果EJB容器出现问题而JMS服务器依然会将消息在此MDB可用的时候发送过来,而non-persistent方式的消息将被丢弃。
11、说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法
Session Facade Pattern
:使用
SessionBean
访问
EntityBean
Message Facade Pattern
:实现异步调用
EJB Command Pattern
:使用
Command JavaBeans
取代
SessionBean
,实现轻量级访问
Data Transfer Object Factory
:通过
DTO Factory
简化
EntityBean
数据提供特性
Generic Attribute Access
:通过
AttibuteAccess
接口简化
EntityBean
数据提供特性
Business Interface
:通过远程(本地)接口和
Bean
类实现相同接口规范业务逻辑一致性
EJB架构的设计好坏将直接影响系统的性能、可扩展性、可维护性、组件可重用性及开发效率。项目越复杂,项目队伍越庞大则越能体现良好设计的重要性
|