feipeng

不要过分强调技术,思想才是关键!
   ::  :: 新随笔 ::  ::  :: 管理

2008年6月10日

     摘要: 一、下载SunMoon框架
SunMoon框架源码和DB

二、解压后,SunMoonFrame1.0文件夹内有一个DB文件夹,它里面放的是Oracle的dmp文件,使用者需要在Oracle上创建一个用户:smhr,然后使用imp命令把smhr.dmp这个文件导入Oracle数据库。
  阅读全文

posted @ 2008-06-10 09:21 FrankFei 阅读(1045) | 评论 (12)编辑

2008年6月6日

     摘要: 使用.Net和Ext开发的框架,数据库为Oracle(设计时已考虑SqlServer,但目前SqlServer还没有测试),源码和DB已经发出。
虽然使用了Ext,但开发时不需要对Ext进行开发,全部使用c#语言。  阅读全文

posted @ 2008-06-06 14:31 FrankFei 阅读(3418) | 评论 (36)编辑

2007年8月2日

     摘要: 大家在学习ObjectBuilder的Locator时,可能都知道里面是使用WeakRefDictionary作为它内部的存储结构,以实现对象的缓冲机制。那WeakRefDictionary的是如何实现的呢?其实它是采用对象适配器模式,把一个Dictioary泛型集合对象适配成符合存储弱引用对象的集合。  阅读全文

posted @ 2007-08-02 11:29 FrankFei 阅读(1293) | 评论 (2)编辑

2007年8月1日

     摘要: ObjectBuilder中提供了很多Policy,甚至还可以按自己的需要任意扩展,那对于已经提供的Policy,我们应该如何正确的使用呢?这篇文章我会先介绍一下其中的SingletonPolicy。
在我们实际的项目开发中,经常会遇到多次创建同一个类的情况,如果按照一般的方法去new一个类,那么每new一次,就会产生一个实例,对于小型系统完全没有问题,但当系统比较庞大时,就应该认真思考了。
  阅读全文

posted @ 2007-08-01 11:45 FrankFei 阅读(1483) | 评论 (2)编辑

2007年7月31日

     摘要: 对ObjectBuilder有所了解的可能知道,里面使用了Strategy模式,而在GOF中有这样一句:策略又称做政策(Policy),那问题就来了,在ObjectBuilder中,IBuilderPolicy和IBuilderStrategy到底有什么区别呢?系统为什么会同时引入这两个概念呢?  阅读全文

posted @ 2007-07-31 17:01 FrankFei 阅读(1102) | 评论 (4)编辑

     摘要: 一、在分析之前,先把Strategy模式和Chain of Resposibility模式做一下简单介绍。  阅读全文

posted @ 2007-07-31 13:38 FrankFei 阅读(1635) | 评论 (9)编辑

2007年7月30日

     摘要: 在用NHibernate1.2.0.GA版本中自带的NHibernate.Examples-2.0下的QuickStart测试连接Oracle数据库时,一直提示:System.Data.OracleClient.OracleException : ORA-12704: character set mismatch,但如果改成连接SqlServer数据库,一切OK。  阅读全文

posted @ 2007-07-30 17:23 FrankFei 阅读(442) | 评论 (1)编辑

     摘要: 最近在工作中使用到了GridView这个控件,很好用,可当绑定数据量较大时,就会有性能问题,经过分析,找到了一种可以解决这个问题的方法,其实质是下面的SQL(Oracle)语句:

select a.*
from (select rownum as row_id, b.*
from (select * from table_name order by column_name asc) b) a
where a.row_id between record_begin_index and record_end_index
  阅读全文

posted @ 2007-07-30 16:45 FrankFei 阅读(803) | 评论 (1)编辑

2007年6月15日

     摘要: 没有时间改善思考与生命,就好像说你因忙着开车,所以没有时间停下来加油一样。问题终究会反弹回到你身上。 ---出处:罗宾 夏玛(Robin Sharma)  阅读全文

posted @ 2007-06-15 11:39 FrankFei 阅读(70) | 评论 (0)编辑

2007年6月14日

     摘要: 大家在使用Visual Studio环境进行开发时,可以把某个类或某个函数折叠起来,在很多网页上也有类似的功能,像cnblogs中的代码段,那到底是如何实现的呢?其实很简单,只要通过JavaScript就可以实现。  阅读全文

posted @ 2007-06-14 13:57 FrankFei 阅读(682) | 评论 (2)编辑

2007年3月13日

     摘要:   阅读全文

posted @ 2007-03-13 10:47 FrankFei 阅读(515) | 评论 (0)编辑

     摘要: 二、概述
在软件系统中,有时候面临的产品类是动态变化的,而且这个产品类具有一定的等级结构。这时如果用工厂模式,则与产品类等级结构平行的工厂方法类也要随着这种变化而变化,显然不大合适。那么如何封装这种动态的变化?从而使依赖于这些易变对象的客户程序不随着产品类变化?  阅读全文

posted @ 2007-03-13 10:37 FrankFei 阅读(2947) | 评论 (3)编辑

     摘要:   阅读全文

posted @ 2007-03-13 10:12 FrankFei 阅读(278) | 评论 (1)编辑

2007年3月12日

     摘要: 一、概述
在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法确相对稳定。如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统中的“稳定构建算法”不随着需求改变而改变?这就是要说的建造者模式。  阅读全文

posted @ 2007-03-12 14:40 FrankFei 阅读(2470) | 评论 (7)编辑

     摘要: 一、概述
在软件系统中,经常面临着“某个对象”的创建工作,由于需求的变化,这个对象的具体实现经常面临着剧烈的变化,但是它却拥有比较稳定的接口。如何应对这种变化?提供一种封装机制来隔离出“这个易变对象”的变化,从而保持系统中“其它依赖该对象的对象”不随着需求的改变而改变?这就是要说的Factory Method模式了。  阅读全文

posted @ 2007-03-12 09:41 FrankFei 阅读(2612) | 评论 (11)编辑

2007年3月9日

     摘要: (1)所有数据都应该隐藏在所在的类的内部。
(2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。
(3)尽量减少类的协议中的消息。   阅读全文

posted @ 2007-03-09 13:29 FrankFei 阅读(448) | 评论 (0)编辑

     摘要: 在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时由于需求的变化,往往存在着更多系列对象的创建工作。如何应对这种变化?如何绕过常规的对象的创建方法(new),提供一种“封装机制”来避免客户程序和这种“多系列具体对象创建工作”的紧耦合?这就是我们要说的抽象工厂模式。抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态,工厂方法针对的仅仅是一种“产品”,或者称为“类”,而抽象工厂实际上针对很多平行的产品,因此层次不同。抽象工厂才是名副其实的“工厂”,即不仅仅只生产一种产品,抽象工厂是层次较高的模式,针对应用中需要使用的一系列相关的类给出一个创建接口。

学会了用抽象工厂模式,你将理解OOP的精华:面向接口编程。  阅读全文

posted @ 2007-03-09 13:25 FrankFei 阅读(2523) | 评论 (8)编辑

2007年3月8日

     摘要: 下面为参考.Net Framework整理的名称规则,请.Net开发人员务必通读全文。  阅读全文

posted @ 2007-03-08 14:03 FrankFei 阅读(217) | 评论 (0)编辑

2007年3月6日

     摘要:   阅读全文

posted @ 2007-03-06 15:52 FrankFei 阅读(136) | 评论 (0)编辑

2007年3月2日

     摘要: 今天把我前段时间整理的5个面向对象设计原则(SRP,OCP,LSP,DIP,ISP)全部贴出来了,希望对大家有所帮助,也希望能和大家多多交流。

总原则(摘自:Design Patterns Explained):
1、Design to interfaces.
2、Favor composition over inheritance.
3、Find what varies and encapsulate it.  阅读全文

posted @ 2007-03-02 15:49 FrankFei 阅读(589) | 评论 (0)编辑