随笔分类 -  dotNet

摘要:前面我讨论过抽象工厂模式,但我的理解有错,如果照那样理解的话最多只能算是简单工厂的模式,那么它们有什么其别呢?先来看下简单工厂模式(下图是我从网上找的):他有一个Factory(工厂类),还有一个接口(Product)算是产品类吧,然后就是具体产品A和B了。我晚上自己写个简单工厂类,再贴出来。接下来... 阅读全文
posted @ 2011-07-15 17:00 小霖2012 阅读(474) 评论(1) 推荐(0) 编辑
摘要:Order订单的实现可以采用异步也可以采用同步,但接口(IBLLStrategy.IOderStrategy)就一个,不论是同步(OrderSynchronous)还是异步(OrderAsynchronous)都要去实现这个接口。然后在BLL.Order应该配置文件反射依赖注入对其进行实例化,当然这... 阅读全文
posted @ 2011-07-15 16:31 小霖2012 阅读(342) 评论(1) 推荐(0) 编辑
摘要:在Global.asax全局变量中对匿名用户有进行了处理,我当初也在想,这个匿名用户买了东西,要下单的时候需要登录,登录后它买的东东怎么转换给登录的用户呢?下面先来看下这段处理代码吧: 1 //将匿名用户转换为注册用户处理 2 void Profile_MigrateAnonymous(Object... 阅读全文
posted @ 2011-07-15 12:23 小霖2012 阅读(438) 评论(0) 推荐(0) 编辑
摘要:今天网上找关于Profile的资料,欣喜的发现Profile的处理机制了。在上节中我叙述了Profile.PetShopProfleProvider的相关机制。但这个实现是很普通的,根本就没有有涉及到Profile的运行机制。关键还是在web.config这个配置文件上,其实我也猜到了,猜到了ASP... 阅读全文
posted @ 2011-07-14 20:18 小霖2012 阅读(233) 评论(0) 推荐(1) 编辑
摘要:网上有的资料说Profile这是个数据访问层,但我觉得不是,因为数据访问层要有数据的基本操作吧,如insert等。其二,这个明明是业务逻辑层的,因为它即加载了BLL层,有加载了DAL层的ProfileDALFactory这个抽象工厂即其接口类。所以我先判定其为BLL层的。首先Profile这个类继承... 阅读全文
posted @ 2011-07-14 10:25 小霖2012 阅读(321) 评论(0) 推荐(0) 编辑
摘要:今天在研究petshop的PetShop.SQLProfileDAL.PetShopProfileProvider时有幸看到事务的处理,其实之前在消息队列的时候也有遇到过,但那时候忙着整理消息队列,故没怎么去想这个,现在再次遇到就一并记录下来吧,老规矩还是先看下SQLProfileDAL.PetSh... 阅读全文
posted @ 2011-07-13 11:47 小霖2012 阅读(275) 评论(0) 推荐(0) 编辑
摘要:IList在ASP.NET2.0后就是一个泛型强类型集合了,它也是一种面向接口思想的体现。想说说我做的的IList和List吧,还是拿petshop举例说明: 1 public IList GetCategories() { 2 3 IList categories =ne... 阅读全文
posted @ 2011-07-12 09:17 小霖2012 阅读(351) 评论(0) 推荐(0) 编辑
摘要:petshop是采用面向接口的编程思想,接口的有点我之前知道了一些,它是一种规范,更易团队合作开发。但,接口真的就只有这点优点吗?来看看petshop的接口是怎样实现吧,就说数据访问层吧:IDAL定义了数据访问层的接口,SQLServerDAL对接口进行实现,然后在抽象工厂DALFactory中对D... 阅读全文
posted @ 2011-07-11 09:31 小霖2012 阅读(404) 评论(2) 推荐(1) 编辑
摘要:PetShop.OrderProcessor是一个控制台应用程序,我很奇怪这个控制台程序是怎样在web应用程序中的。不管怎样,老习惯先分析下这个控制台程序吧: 1 staticvoid Main() { 2 3 Thread workTicketThread; 4 ... 阅读全文
posted @ 2011-07-10 21:48 小霖2012 阅读(482) 评论(1) 推荐(0) 编辑
摘要:张逸老师说的,异时消息处理队列为什么设置成抽象工厂是这样的:/********************************************************************/考虑到IOrder的实现有可能的变化,PetShop仍然利用了工厂模式,将IOrder对象的创建用专... 阅读全文
posted @ 2011-07-09 20:26 小霖2012 阅读(466) 评论(1) 推荐(0) 编辑
摘要:我觉得要正确理解DALFactory.DataAccess这个函数,就先得理解什么事抽象工厂,设计模式自己没有学过。只是非常粗劣看了一下。抽象工厂的定义是这样的:提供一个创建一系列相关或相互依赖的接口,而无需指定它们具体的类。如果是从字面上的理解应该是给上一层或调用者提供一系列的功能的接口,让上层或... 阅读全文
posted @ 2011-07-09 10:47 小霖2012 阅读(2759) 评论(3) 推荐(0) 编辑
摘要:老习惯还是先把GetCachedParameters这个函数的代码贴出来。 public static SqlParameter[] GetCachedParameters(string cacheKey) { SqlParameter[] cachedParms = (SqlParameter[]... 阅读全文
posted @ 2011-07-09 08:40 小霖2012 阅读(1144) 评论(0) 推荐(0) 编辑
摘要:根据petshop的习惯,他们还是把sql语句适时拆开,然后写成静态的字段,具体看下,我就重点研究了Produce的GetProductsBySearch功能:privateconststring SQL_SELECT_PRODUCTS_BY_SEARCH1 ="SELECT ProductId, ... 阅读全文
posted @ 2011-07-08 18:31 小霖2012 阅读(708) 评论(0) 推荐(0) 编辑
摘要:petshop的order里的所有字段并非全部在实体类生成,所得有点晕,还是先看下他们是怎么做得吧:privateint orderId; private DateTime date; privatestring userId; private Credit... 阅读全文
posted @ 2011-07-08 09:19 小霖2012 阅读(410) 评论(1) 推荐(0) 编辑
摘要:Invertory类对商品库存的更新,应该是涉及到数据库MSPetShop4和数据库MSPetShop4Orders。因为MSPetShop4.Inventory的数量要更改要扣除MSPetShop4Orders.LineItem的订单数量。如果是我来处理的话应该会这样做:update Invert... 阅读全文
posted @ 2011-07-07 17:06 小霖2012 阅读(504) 评论(0) 推荐(0) 编辑
摘要:还是更上次的例子一样,只是这次不是用最原始的方法去实现了,这次是用AJAX.NET进行开发1、配置及安装AJAX.NET,这个就不在这里说了,不会就google下吧。2、直接步入主题,前端代码: 1 2 3 Ajax.NET测试 4 31 32 33 34 35 36 37 38 3、后台代码:... 阅读全文
posted @ 2011-07-04 16:07 小霖2012 阅读(183) 评论(0) 推荐(0) 编辑
摘要:看了5.3节的AJAX.NET进行开发,让我对AJAX有了新的认识,之前只是知道它可以实现无刷新的技术吧,现在知道其机制了。下面应该是AJAS原始开发的原理吧:对于AJAS技术的基础和核心,XMLHttpRequest对象应该是其实现发送异步请求并响应执行回调。XMLHttpRequest有几个属性... 阅读全文
posted @ 2011-07-04 15:10 小霖2012 阅读(205) 评论(0) 推荐(0) 编辑
摘要:成员身份API通过两个新的类来实现:Membership和MembershipUser,它们是一对很好的配合搭档。前者包含了用于创建用户、验证用户以及完成其他工作(找回一个membershipUser实例,更新一个membershipUser实例,通过不同条件寻找一个用户,获得当前在线用户数量,删除... 阅读全文
posted @ 2011-06-21 10:32 小霖2012 阅读(3078) 评论(0) 推荐(1) 编辑
摘要:方法二:FileStream fs=new FileStream(sf.FileName,FileMode.Create);StreamWriter sw=new StreamWriter(fs);sw.Write(textBox1.Text);sw.Flush();sw.Close();fs.Cl... 阅读全文
posted @ 2011-06-14 17:54 小霖2012 阅读(306) 评论(0) 推荐(0) 编辑
摘要:这是后台代码: 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System... 阅读全文
posted @ 2011-06-12 21:10 小霖2012 阅读(249) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示