您的位置:首页 > 其它

使用.NetTiers的开发结构

2010-06-30 21:25 211 查看
//My解决方案结构:
//My
//	NetTiers
//		- My.Data等(.NetTiers生成的数据提供层)
//		- My.Service(.NetTiers生成的数据服务层。其中为它加入了自己的Partial类以增加额外功能)
//			WelcomeServiceBase.generated.cs
//			WelcomeService.generated.cs
//			WelcomeService.cs(.NetTiers生成的)
//			-Partial(自己写的Service分部类全都组织在Partial目录中,这样每次重新使用.NetTiers生成框架成,只需要备份还原此目录即可。另外在VS中设置此目录的属性“Namespace Provider”为“false”)
//				WelcomeService.cs(自己写的)
//	- My.Facade(自己写的外观功能层)
//		WelcomeFacade.cs
//	- My.View(自己写的视图层)
//		Program.cs

//---------------------------------NetTiers生成的工程开始-------------------
//...其它一些工程,如My.Data等

//-----My.Serivce工程开始
//WelcomeServiceBase.generated.cs文件:
namespace My.Serivce {
public partial class WelcomeServiceBase {
public string Out() {
return "您好!";
}
}
}

//My.Serivce.cs文件:
namespace My.Serivce {
public partial class WelcomeService : WelcomeServiceBase {
}
}

//Partial/My.Serivce.cs文件
namespace My.Serivce {
public partial class WelcomeService {
//若要操作数据库中的数据,即使只是读数据,一定使用事务,在方法中“探测当前ConnectionScope中有无现成的事务管理器,有则借用,无则创建”的方式。
//这样可保证数据的一致性,也可避免在作一系列操作时,当上层操作自己创建事务将数据锁住时,下层无法访问数据(即使是读取)。
//遵循一点:只在一系列连续的、相关的操作的最起始创建事务管理器,并将此事务管理器在这些操作中进行传递,完成整个事务的操作后,在系列操作的末尾将事务进行提交或回滚,最终回收事务管理器。
public string Out(string name) {
return string.Format("您好,{0} !", name);
}
}
}
//-----My.Serivce工程结束

//---------------------------------NetTiers生成的工程结束-------------------

//---------------------------------自己写的工程开始-------------------------
//---------My.Facade工程开始
WelcomeFasade.cs文件:
namespace My.Facade {
public partial class WelcomeFasade {
//若要操作数据库中的数据,即使只是读数据,一定使用事务,在方法中“探测当前ConnectionScope中有无现成的事务管理器,有则借用,无则创建”的方式。
//这样可保证数据的一致性,也可避免在作一系列操作时,当上层操作自己创建事务将数据锁住时,下层无法访问数据(即使是读取)。
//遵循一点:只在一系列连续的、相关的操作的最起始创建事务管理器,并将此事务管理器在这些操作中进行传递,完成整个事务的操作后,在系列操作的末尾将事务进行提交或回滚,最终回收事务管理器。
public static void Say(string name) {
var welcomeService = new WelcomeService();
var words = welcomeService.Out(name);
Console.WriteLine(words);
}
}
}
//---------My.Facade工程结束

//---------My.View工程开始
namespace My.View {
class Program {
static void Main(string[] args) {
Console.WriteLine(new WelcomeServiceBase().Out());//调用类WelcomeServiceBase(NetTiers生成的WelcomeServiceBase.generated.cs文件)提供的方法
Console.WriteLine(new WelcomeService().Out());//调用类WelcomeService(NetTiers生成的WelcomeService.cs文件)提供的方法

Console.WriteLine(new WelcomeService().Out("张三"));//调用WelcomeServicePartial.cs(自己写的,并放在ServiceLayer层中的)提供的方法
WelcomeFasade.Say("张三");
}
}
}
//---------My.View工程结束
//---------------------------------自己写的工程结束-------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: