petshop的文章

当前主要的几个问题是:

1、   选择外观层(Presentation Layer Architecture)thin client (browser based) or smart client deployment.

(是否要参考一下:http://www.theserverside.net/news/thread.tss?thread_id=31381http://msdn.microsoft.com/architecture/default.aspx?pull=/library/en-us/dnmaj/html/choosing_presentation_layer.asp

2、   选择程序的架构:采用PetShop的架构还是采用Duwamish7的架构,还是整合二者弄个新的架构,又或者以Duwamish7的架构为主,稍微改造一下。

3、   确定了架构之后,就要考虑永久层的实现方式、选哪个代码生成工具等等。

4、   当前台访问数据时,提取数据库中一条记录、少量记录(几百到几千条)、大量记录时的处理方式,这依赖于系统架构的选择。

5、   报表工具:初步定为Reporting Services

先请教大家几个问题:

PetShopDAL(数据访问层)当返回一个DTO时,是直接建立一个DTO对象实例,当返回一个DTO集合时,返回的是一个ArrayList(IList接口)对象,

1、   ArrayList(IList接口)对象(集合)的数据量较大时,应该和DataTable没有性能上的差别吧?

2、   为何不直接用DataRow取代DTO,用DataTable(或DataSet)取代ArrayList?主要是担心需求的改变而带来的代码修改吗?

3、   使用DTO时,当数据库发生变化,或需求发生变化时修改简单吗?,DataRow取代DTO时修改麻烦吗?

4、   .net毕竟是.net,考虑问题的解决方案,就应该有.net特色,而不是照搬J2EE的,.net已经提供了强大的ado.net,我们为什么舍近求远,自已创建dto,业务实体?

5、   VS.net2003为什么自带的例子是Duwamish7,而不是PetShop,幕后的原因是什么?

  下面是我对petshop的初步认识:

 

1Model层实际上就是建立各个DTO(Data Transfer Object)对象,DTO对象只有携带数据的能力,并不包含各种CRUD方法和其他业务逻辑方法。

2IDAL层定义了各个Business Entity的接口,只有CRUD等方法,并没有字段和属性,用到属性时,则用DTO对象来提供。

3DAL层实现了各个业务实体的数据访问能力。

4DALFactroy层用配置文件实现了对不同数据库的访问,是典型的工厂方法。

5BLL层实现了各个业务实体,可以加入实际的业务逻辑。

6PL层没得说,就是各种访问页面。

另:发现SimplePager在打开页面时有错误,加上下面的代码试试:

public class SimplePagerDesigner : System.Web.UI.Design.ControlDesigner

{

         public override string GetDesignTimeHtml()

         {

                   return base.GetDesignTimeHtml ();

                   //return "Repeater设计时外观";

         }

}

 

[Designer(typeof(PetShop.Web.Controls.SimplePagerDesigner))]

public class SimplePager : Repeater {

    。。。。。。

}

posted @ 2005-12-05 17:47  torome  阅读(635)  评论(0编辑  收藏  举报