在做平台的时候,我们很自然的要将平台分成三个部分:客户端程序、中间层【一般情况下,这个是可以省略的。】、服务端程序【这里面就包含着数据库的知识。】
而我们的一般步骤是先写好服务端的程序,这个工作是在vs2010【这只是我现在使用的开发工具而已,每个人可能有自己的喜好。】集成开发平台上完成的。这里要插入一句话:任何一个项目都是创建无数个类,然后根据实际的需要,把这些类实例化,也就是我们经常所说的对象化【因为类(class)是对象(object)的抽象话,而对象是类的实例化。】。而在将服务端的程序完成并且重新生成准确无误之后,我们接下来的工作就是在falshbuilder【我个人也是用的最新版的fb4.0】里面对于客户端程序进行总结和编写了。
比如我们在编写一个关于客户管理的功能的时候,我们在客户端就要先找到这个客户管理的上层文件管理文件,然后在这个基础之上我们再在里面找到Service(英文音译为:服务),在里面创建一个C#类,我们取名为:GuestServise.cs,接着我们就要给它进行编辑了,因为要使它具备一定的我们所需要的功能。具体的代码在下面,我们一条一条的来具体分析,然后总结出其具备的功能:
public class GuestService : IGuestService//这里我们先创建一个类,这个类跟文件名是一致的,都是GuestService,而这个类继承于IGuestService【这个是个接口,将在后面进行讲述。】
{
Database db = EnterpriseLibraryContainer.Current.GetInstance<Database>("sql.conn.MainDB");
//这句话是连接数据库的意思,在oracle数据库的操作里面就是用conn来表示连接表单的。
#region IGuestService 成员
public List<GuestVO> GetGuestListPage(string keyword)//这里有点绕口的地方就是List<GuestVO>在这里表示个什么东西,首先要说的是它们的组合在这里是一个泛型,怎么去理解呢,就是说,我们以往在定义一个方法的时候,基本的定义方式是:public String Get("string"),那么在这个地方,List<GuestVO>就是相当于String的功能,只是有一点不一样的地方就是当GuestVO是整型的时候就会将整型传递给LIST函数,然后就定义后面的GetGuestListPage是整型的变量。这样子解释不知道能不能明白呢?
{
List<GuestVO> list = new List<GuestVO>();//这里就是在创建一个新的构造函数List<GuestVO>()。
string commandText = @"
select
*
from
[eb_pf_t_Guest]
where 1=1
";//这句话在这里联通上面的string commandText = @",具体的意思就是定义了一个字符串变量commandText,同时我们在用@“”进行一个从数据库列表里面选择数据然后赋值给我们定义的变量commandText。
if (!string.IsNullOrEmpty(keyword))
{
commandText += " and GuestName like '%{0}%' ";
commandText = string.Format(commandText, keyword.Replace("'", "''"));
}
commandText += " order by GuestID desc";
DataSet ds = db.ExecuteDataSet(CommandType.Text, commandText);
GuestVO item;
if (ds != null)
{
foreach (DataRow dr in ds.Tables[0].Rows)
{
item = new GuestVO();
item.Init
(
Convert.ToInt32(dr[GuestVO.NameOf_GuestID]),
dr[GuestVO.NameOf_GuestGuid].ToString(),
dr[GuestVO.NameOf_GuestName].ToString(),
dr[GuestVO.NameOf_GuestCall].ToString()
);
list.Add(item);
}
}
return list;
}
#endregion
}
}//这一大部分的代码显然是个选择判断语句,但是里面有好多语句我现在没办法很完整的解释具体是什么意思,只有期盼各位高手的指点了。
下面我们再看看我们定义的那个接口的内容代码:
public interface IGuestService//这里定义的就是一个接口,我们在定义接口的时候跟定义类的方式基本上是一样的,只是有一点区别就是定义类的关键字和定义接口的关键字是不一样的,前者是class,而后者是interface。而且接口和类的名字上也有点小小的区别,接口比 类多了一个大写的字母I。
{
/// <summary>
/// 获取客户列表页
/// </summary>
/// <param name="keyword">关键词</param>
/// <returns>文章列表</returns>//像这些话在前面有三个反斜杠的都是表示的注释。
List<GuestVO> GetGuestListPage(string keyword);//这句话在前面已经进行了定义了,就是定义一个变量的基本类型的一个变异而已,没什么太难的地方。
}
}
我昨天在csdn上面看到了很多有用的文章,其实要想成为一个出色的程序设计的高手,真的要做的就是多看代码然后多敲代码,最后就是多看看别人的架构是怎么样的一种模式,以及我们应该从那些方面去着手,这些都是很重要的,我现在才入门不久,很多东西都得认真的去学,需要花更多的时间来总结来学习,这些 东西真的是很实际的东西,希望在这个平台上能够结识到更多的朋友,为了互联网,为了软件事业的蓬勃发展,我们好好努力吧!