在新一代的微软开发人员认证体系中,最明显的不同就是多了这一个应用程序发展的基础技能考试(70-536),以往的MCSD与MCAD都是将工具的使用(Visual Studio)以及发展特定类型的应用程序为考试内容,这样很容易有一个问题-开发人员是否对真正底层的东西有一定程度的了解?这也是为什么要有这个科目的原因。
若开发人员对于基本的类别库功能没有足够的了解,那未来在发展应用程序时会有更多的问题,例如Do Less With More(撰写程序代码来做类别库已经有的功能),或是没有善用类别库的功能等等,就像是MCSE却不懂网络一样,等于只是半吊子的认证人员而已,对于微软来说,MCSD/MCAD应该是要培养并认可出真正具实力的专业人员,但是可能因为对于基础类别库的应用不够了解,而让开发质量下降,或者让开发人员写了更多的程序,但只是做了一个类别库中早己有的功能,也间接的造成开发效率下降。
所以微软在MCTS与MCPD中加入了这一项考试,主要原因就是希望能够踏入MCTS与MCPD的专业人员都能够在操作与应用基础类别库的部份,具有一定以上的水平,这样的好处是,在之后的考试中,就只要专注在特定的范围内,不必再去考验基础部份的能力,这对.NET Framework 2.0这种相当大范围的类别库与平台来说,是很重要也是最经济的方法。
不过由于这一科只是测验基础能力,所以通过了这科考试,并不会取得MCP或是MCTS认证,这个情形和Windows NT 4.0时代的MCSE考科中的Exam 70-058:Networking Essentials一模一样,但这个作法也引起了许多人的意见,很多人都拿SCJP来比较,SCJP的考试只考一科就可以拿到认证,不过笔者认为这二个是不能相比较的,因为SCJP考的是Java语言和Java类别库的使用,范围比较大;而70-536考的只是基本类别库的使用,不考语言(那是考生的事),而且相对于MCTS,SCJP也只是证明了考生具有撰写Java程序与应用类别库的能力,但没有考验对于特定平台的发展能力(不然怎么会有SCJD, SCWCD, SCBCD, SCMAD,…),若要测验特定平台的发展能力,得再考一科考试,等于要考二科。以这种方式来计算,其实考Java部份是比较贵的(150*2 = 300美金),而微软的部份相对而言比较便宜(80*2=160美金)。
考试背景
Microsoft .NET Framework 2.0应用程序开发基础是以.NET Framework 2.0类别库为主要出题方向,因为整个类别库有数百个命名空间(namespace),以数百计的类别,就有如.NET Framework上的Windows API一样(API已经是数以千计),未来.NET Framework 3.0/3.5会更多,所以微软在这科考试中所测验的类别库,都已经排除了特定平台以及特殊的类别(例如Microsoft.Win32与Microsoft.VisualBasic等),只留下了各种平台都会用到的命名空间与类别。
微软要求考生必须要了解.NET Framework类别库,而且需要使用C#, Visual Basic或Visual C++来操作类别库,由于考试开始时可以选择考试题目中所使用的程序语言,所以考生可以选择自己熟悉的语言来考试。微软建议考生最好能有Visual Studio 系列开发工具的使用经验。
若考生是学生身份,则建议最好是大学以上,对于C#, VB或C++熟悉,并且有修过下列课程(或具有同等级的知识):
程序设计(型别、集合、泛型处理、数组、堆栈与队列)
面向对象程序设计(类别的使用与概念)
操作系统(数据流I/O,行程与线程的概念)
程序语言(RTTI与执行期型别处理)
网络程序设计(XML与字符串编码)
信息安全(密码学与信息安全的概念)
考试测验的技能
70-536考的是考生对于.NET Framework 2.0基本类别库的操作与使用,不过在操作类别库的背后,却隐藏了许多的基本知识,如果考生对一些基本概念不够熟悉的话,看到程序代码可能会不知所云,而这也是此科考试最常出现的出题方式。考试分为七个主题,分布在各个类别库中,一个主题会考到许多的类别,但重点还是在使用,所以考生就算不是全部了解,也要了解至少八成以上.才会有机会通过考试。
使用系统型别与集合对象开发应用程序(15%)
笔者认为这真的是基本中的基本了,写程序不可能用不到任何的数据,就算是程序自己产生的,也还是一些数据,而能够承载数据的记