)
{
this.objStrategy=obj;
}
public void Execute(string name,int count)
{
this.objStrategy.PrintCount(name,count);
}
}
class MyTestClass
{
[STAThread]
static voidMain(string[] args)
{
ChoiceContext objA=new ChoiceContext(new MyChoilceA());
objA.Execute(“苹果”,1000);
ChoiceContext objB=new ChoiceContext(new MyChoiceB());
objB.Execute(“香蕉”,1000);
ChoiceContext objC=new ChoiceContext(new MyChoiceC());
objC.Execute(“橘子”,1000);
}
}
}
上面的例子是我自己写的,有不足之处,请自己网上更正!
37.如果你是一位软件架构师,您将如何去搭建一个符合n-tie的架构?并请描述一下您搭建的每一层的作用。(注意:请您考虑项目中
有WebService的情况)
主要根据实际情况来决定搭建的层数以及各层的规格。 一般情况下,可如下搭:
数据层:主要提供数据服务,该层继承实体的接口并定制自己的数据提取和存储。并根据数据库类型如sqlserver、oracle等来建立此层服务。执行逻辑我个人偏好采用存贮过程。
业务层:由于定制的实体的属性以及操作实体的方法已由数据层获得和执行,故业务逻辑组件对此实体进行组合,以满足上层对业务逻辑组件的调用,webservice也是建在此层,以用于提供数据服务和逻辑执行。
表示层:一般定制不同的容器控件,以用于加载从业务层不同类型的数据便于呈现。当然也要设置此层的风格以及各种显示设置,webservice显示页面建在层,通过加载对指定目录的webservice提供的方法来呈现。
38.可否简要的介绍asp.net 2.0 Membership,WebPart和C#的匿名函数和泛型等你认为.net 2.0自己感兴趣的内容,希望可以简要地阐述其中的特点(本题非常的重要)
1 Membership:成员管理主要提供了一套对用户信息、用户角色、用户配置信息的用户系统。通过MembershipConfigHandler加载配置文件
中公有的基础信息,对配置文件中的信息进行了严格的边界检查和类型检查。通过MembershipProvider提供了实现membership的抽象方法以
及配置信息。由SqlMembershipProvider继承MembershipProvider来实现sqlclient的数据提供服务。业务和实现相剥离,以利于扩展。
2 WebPart:主要提供页面布局和自定义以及换皮肤的功能。通过定义主题(Theme)来决定整体的布局风格,以及版面通过设定不同的区域(Zone)来
决定版面各块的区域设置。通过不同的skin和css来确定风格。让用户能够保存自己的个人设置以及恢复默认设置的功能。
3 匿名函数:使用匿名方法可以减少因实例化委托所需要的开销,1.0中使用委托必须实例化委托并且必须将所调用的类和方法作为参数传入也
即命名方法,当然如果所调用的委托具有多变性应该还采用命名方法。
4 泛型:一般用于集合类。由于以前集合类数据都由framework隐式转化为object类型,这种开销很大。而用泛型,你就可以指定传入对象类
型,而用于生成强类型的数据集,这样各种操作就可以使用指定类型的特性和优势了,自然速度也快了很多。当然接口、方法、类等都同样使用这种方式
5 编译模型除了asp.net1.0支持的批编译,也提供新的编译模式。
6 在httpmodule和httphander的处理速度要比以前1.0要快。
7 在请求响应输出中,将缓冲区由asp.net宿主进程移到本机内存,可以消除资源瓶颈。
8 其缓存模型提供了数据库依赖和缓存后替功能。
9 与IIS6.0集中能提供更好的性能,主要体现在缓存和缓冲操作上。
39.Asp.net中的内建对象
Page对象:Web Form 网页在执行的时候会被编译成Page 对象,Page对象通知来设置与网页有关的属性、方法和事件;
Response对象:用于服务器端输出数据到客户端;
Request对象:用来捕获由客户端返回服务器的数据;
Server对象:提供服务器端最基本的属性和方法;
Application对象:用来记录客户端共享的变量,作用于整个应用程序运行期;
Session对象:用来记录客户端的专用变量,作用于用户会话期;
Cookies对象:为Web应用程序保存访问者相关信息.
40..NET具有跨平台的性质吗?现在是否可以在UNIX平台上广泛的应用?
INET工具实现.NET跨平台!
Stryon公司开发的iNET可以使应用程序和Web服务在Visual Basic 和C#下开发,并且可以发布于任何支持Java的运行环境,
网络主机也从IBM网络服务器扩展到Linux和Unix的服务器。有了iNET技术,开发人员既可以利用Visual Studio .net开发环境的优势,但是又不局限于Microsoft的运行环境。
41.写出global.asax文件的主要用途?
作用和asp的global.asa一样,它可以使我们执行asp.net应用程序一层的事件的代码,如:application_start等等,使你可以在这些事件中作一些自定义的处理;也可以定义应用程序一层的变量,如:Session等,这在整个asp.net应用程序中起作用。
42.列出web.config的常用的配置段,并对每个配置段进行简要的说明。
Web.config文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息,它可以出现在应用程序的每一个目录中。当你通过C#新建一个Web应用程序后,默认情况下会在根目录下自动创建一个默认的Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。如果你想修改子目录的配置设置,你可以在该子目录下新建一个
Web.config文件。它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。
在运行时对Web.config文件的修改不需要重启服务就可以生效(注:<processModel> 节例外)。当然Web.config文件是可以扩展的。
appSettings包含自定义应用程序设置。
system.web 系统配置
compilation动态调试编译设置
customErrors自定义错误信息设置
authentication身份验证,此节设置应用程序的身份验证策略。
authorization授权, 此节设置应用程序的授权策略.
43,Override, Overload,的区别
答:Override是重写的意思,它表示重写基类的方法,而且方法的名称,返回类型,参数类型,参数个数要与基类相同。
Overload是重载的意思,它表示重写基类的方法,但是只要方法名相同,别的可以不同。
44.简述一下webservice技术,在何种场合下适合使用这项技术?
Web Service 是一种新的web应用程序分支,他们是自包含、自描述、模块化的应用,可以发布、