﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-梁规晓的博客-最新评论</title><link>http://www.cnblogs.com/viter/CommentsRSS.aspx</link><description /><language>zh-cn</language><pubDate>Mon, 01 Sep 2008 05:18:32 GMT</pubDate><lastBuildDate>Mon, 01 Sep 2008 05:18:32 GMT</lastBuildDate><generator>cnblogs</generator><item><title>re: PetShop4.0－－泛型升级</title><link>http://www.cnblogs.com/viter/archive/2008/08/12/1011095.html#1284054</link><dc:creator>VinnyZhao</dc:creator><author>VinnyZhao</author><pubDate>Tue, 12 Aug 2008 02:35:23 GMT</pubDate><guid>http://www.cnblogs.com/viter/archive/2008/08/12/1011095.html#1284054</guid><description><![CDATA[这有违你所说的OO原则吧？@veter<br/>我不太明白。<br/>我之所以定义基接口是因为：<br/>1、将专用接口中相同的方法提取出来，省得重复定义<br/>2、对工厂类中的类型参数T进行限制（T必须继承基接口IDALConll&lt;K&gt;）public class Factory&lt;T&gt; where T : IDALConll&lt;K&gt;<br/><br/>然后定义专用接口<br/><br/>interface ICategory : IDALConll&lt;CategoryInfo&gt;<br/>{......}<br/><br/>定义类实现专用接口<br/><br/>public class Category : ICategory {......}<br/><br/>因为Icategory继承于IDALConll&lt;K&gt;，所以Category也要实现IDALConll&lt;K&gt;中的方法。<br/><br/>在BLL中调用工厂类时，使用专用接口<br/><br/> ICategory dal = Factory&lt;ICategory&gt;.GetIDAL(path,Obj)<br/><br/>这样在业务层调用时不会出现不相关的方法，工厂类也能不用修改就能生成各种类型（必须继承于IDALConll&lt;K&gt;）。<br/><br/>我对设计模式和泛型都是初学，哪地方不对，请楼主说的详细一些！<br/>非常感谢搂主，你对泛型的运用对我有很大启发！谢谢！<br/><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/viter/" target="_blank">VinnyZhao</a> 2008-08-12 10:35 <a href="http://www.cnblogs.com/viter/archive/2008/08/12/1011095.html#1284054#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: PetShop4.0－－泛型升级</title><link>http://www.cnblogs.com/viter/archive/2008/08/11/1011095.html#1283683</link><dc:creator>veter</dc:creator><author>veter</author><pubDate>Mon, 11 Aug 2008 11:40:11 GMT</pubDate><guid>http://www.cnblogs.com/viter/archive/2008/08/11/1011095.html#1283683</guid><description><![CDATA[这有违你所说的OO原则吧？和抽象类重写差不多，慎用！<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/viter/" target="_blank">veter</a> 2008-08-11 19:40 <a href="http://www.cnblogs.com/viter/archive/2008/08/11/1011095.html#1283683#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: PetShop4.0－－泛型升级</title><link>http://www.cnblogs.com/viter/archive/2008/08/11/1011095.html#1283245</link><dc:creator>VinnyZhao</dc:creator><author>VinnyZhao</author><pubDate>Mon, 11 Aug 2008 03:45:14 GMT</pubDate><guid>http://www.cnblogs.com/viter/archive/2008/08/11/1011095.html#1283245</guid><description><![CDATA[我有一个想法,不知道行不行,请搂主看看<br/><br/>把IDALConll&lt;K&gt;作为基接口,如果业务层需要特殊方法,从基接口中派生出专用接口,修改工厂类如下:<br/><br/>public class Factory&lt;T&gt; where T : IDALConll&lt;K&gt;<br/>    {<br/><br/>        public Factory()<br/>        { <br/>        }<br/>        /// &lt;summary&gt;<br/>        /// 根据配置文件生成一个传入的对象,并将其转为T泛型接口<br/>        /// &lt;/summary&gt;<br/>        /// &lt;returns&gt;T&lt;/returns&gt;<br/>        public static T GetIDAL(String path, String Obj)<br/>        {<br/>            return (T)Assembly.Load(path).CreateInstance(Obj);<br/>        }<br/>    }<br/><br/>    这样工厂类同样可以生成很多不同的类型,同时避免代码臃肿。<br/>   这只是我一个临时想法，不知道行不行的通，请各位指教！<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/viter/" target="_blank">VinnyZhao</a> 2008-08-11 11:45 <a href="http://www.cnblogs.com/viter/archive/2008/08/11/1011095.html#1283245#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 分布式开发2------WCF如何正确调用LINQTO SQL</title><link>http://www.cnblogs.com/viter/archive/2008/08/04/1259479.html#1277774</link><dc:creator>veter</dc:creator><author>veter</author><pubDate>Mon, 04 Aug 2008 13:59:37 GMT</pubDate><guid>http://www.cnblogs.com/viter/archive/2008/08/04/1259479.html#1277774</guid><description><![CDATA[这么做的目的是通用，试想一下，如果我有一客户需要一个单机版的程序，我马上就可以给他打包一个，并剔除掉WCF，没有任何影响，再一个，如果有客户有不同的需求，可能业务流程比较复杂，那我马上就可以在其中加入工作流作为控制，对原有架构没有一点影响。<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/viter/" target="_blank">veter</a> 2008-08-04 21:59 <a href="http://www.cnblogs.com/viter/archive/2008/08/04/1259479.html#1277774#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 分布式开发2------WCF如何正确调用LINQTO SQL</title><link>http://www.cnblogs.com/viter/archive/2008/08/04/1259479.html#1277747</link><dc:creator>Allan.</dc:creator><author>Allan.</author><pubDate>Mon, 04 Aug 2008 13:35:39 GMT</pubDate><guid>http://www.cnblogs.com/viter/archive/2008/08/04/1259479.html#1277747</guid><description><![CDATA[我实在没看懂你做这么复杂的意图何在。本来将WCF和LINQ To SQL应用在一起很是简单，一个DBML作数据访问层，如果你愿意你也可以加个数据访问的接口层，不过这里看起来不是很必要；一个WCF项目来做业务逻辑层。而这二者之间无非是为了让ｄｂｍｌ产生的实体类可以被序列化传输，这可以简单的通过设置产生。<br/>至于另外的ｆａｃｔｏｒｙ，只需要做一个产生ｗｃｆ访问接口的工厂类就成了。<br/><br/>架构，不在于复杂，而在于适用。<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/viter/" target="_blank">Allan.</a> 2008-08-04 21:35 <a href="http://www.cnblogs.com/viter/archive/2008/08/04/1259479.html#1277747#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 分布式开发2------WCF如何正确调用LINQTO SQL</title><link>http://www.cnblogs.com/viter/archive/2008/08/04/1259479.html#1277037</link><dc:creator>历史罪人</dc:creator><author>历史罪人</author><pubDate>Mon, 04 Aug 2008 03:50:53 GMT</pubDate><guid>http://www.cnblogs.com/viter/archive/2008/08/04/1259479.html#1277037</guid><description><![CDATA[在看看，是不是标准的C/S模式呢、?<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/viter/" target="_blank">历史罪人</a> 2008-08-04 11:50 <a href="http://www.cnblogs.com/viter/archive/2008/08/04/1259479.html#1277037#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 分布式开发2------WCF如何正确调用LINQTO SQL</title><link>http://www.cnblogs.com/viter/archive/2008/08/04/1259479.html#1276698</link><dc:creator>雅阁布</dc:creator><author>雅阁布</author><pubDate>Mon, 04 Aug 2008 00:51:31 GMT</pubDate><guid>http://www.cnblogs.com/viter/archive/2008/08/04/1259479.html#1276698</guid><description><![CDATA[up！！<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/viter/" target="_blank">雅阁布</a> 2008-08-04 08:51 <a href="http://www.cnblogs.com/viter/archive/2008/08/04/1259479.html#1276698#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 分布式开发2------WCF如何正确调用Linq</title><link>http://www.cnblogs.com/viter/archive/2008/08/03/1259479.html#1276525</link><dc:creator>veter</dc:creator><author>veter</author><pubDate>Sun, 03 Aug 2008 15:18:34 GMT</pubDate><guid>http://www.cnblogs.com/viter/archive/2008/08/03/1259479.html#1276525</guid><description><![CDATA[马上改正!<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/viter/" target="_blank">veter</a> 2008-08-03 23:18 <a href="http://www.cnblogs.com/viter/archive/2008/08/03/1259479.html#1276525#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 分布式开发2------WCF如何正确调用Linq</title><link>http://www.cnblogs.com/viter/archive/2008/08/03/1259479.html#1276516</link><dc:creator>Jeffrey Zhao</dc:creator><author>Jeffrey Zhao</author><pubDate>Sun, 03 Aug 2008 15:15:00 GMT</pubDate><guid>http://www.cnblogs.com/viter/archive/2008/08/03/1259479.html#1276516</guid><description><![CDATA[LINQ<br/>TO<br/>SQL<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/viter/" target="_blank">Jeffrey Zhao</a> 2008-08-03 23:15 <a href="http://www.cnblogs.com/viter/archive/2008/08/03/1259479.html#1276516#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: PetShop4.0－－泛型升级</title><link>http://www.cnblogs.com/viter/archive/2008/08/01/1011095.html#1275072</link><dc:creator>veter</dc:creator><author>veter</author><pubDate>Fri, 01 Aug 2008 11:20:54 GMT</pubDate><guid>http://www.cnblogs.com/viter/archive/2008/08/01/1011095.html#1275072</guid><description><![CDATA[@VinnyZhao<br/>可能这里有点误会，不好意思！这个泛型接口的意思很明显，就是要定义一组通用的方法，比如每个接口实现在所必须的方法（增，删，改，查），对于类特性，可以定义不同的接口去实现。<br/>我个人认为泛型接口主要应用在小型系统比较好，帮助快速开发。<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/viter/" target="_blank">veter</a> 2008-08-01 19:20 <a href="http://www.cnblogs.com/viter/archive/2008/08/01/1011095.html#1275072#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>