我很喜欢这个模式,因为它解决了对象赋值的问题。尤其是那个Clone方法,记忆犹新。 使用场景:当一个系统应该独立于产品的创建,构成和表示时,使用设计模式。 .NET提供了ICloneable接口,只要实现了其Clone方法,在其中执行复制对象的操作。关键就是这个Clone方法,由于对象的复杂性,分为浅复制 和深复制两种: 对于浅复制,可以使用Object的MembermiseClone方法:... Read More
posted @ 2007-04-16 23:17 包建强 Views(813) Comments(0) Diggs(0)
看这一节的时候,建议读者同时参考上一节——注册工厂。 Flyweight是个好东西,我用过两次,都是在C/S程序中画画。在台资公司那次,是跟新来的云大Master赌气时做的,我用了3个享元就模拟了240台机器,而他则挪了240个Button在上面,我用一个晚上时间为我的母校捍卫了荣誉,然后毅然离职,以证明Boss的有眼无珠。爽啊!另一次,是我在家里闷头写一套开源项目,在线游戏大厅,在打牌的时候实现... Read More
posted @ 2007-04-16 23:11 包建强 Views(573) Comments(0) Diggs(0)
我手头的资料有:参考书目:1.互联网的变革——Web2.0的理念与设计2.上网无忧 新手实战:博客 RSS 播客 IPTV(人民邮电出版社)此外,相应源码有1.博客园的源码2.FlexWiki3.RssBandit还有网上的资料,用到了再说。大约10部分,以后可能会变动:BlogRSSTagP2PPodCastWikiAjaxSOASNSPhotoSharing Read More
posted @ 2007-04-14 23:45 包建强 Views(583) Comments(0) Diggs(0)
用来记脑子里瞬间闪过的一些思路,都放在Comment中,正文中永远为空,如同空接口。 Read More
posted @ 2007-04-13 14:07 包建强 Views(525) Comments(18) Diggs(0)
这一节不讲模式,讲注册工厂,是为了下一节研究Flyweight做准备。 注册工厂,就是建立一个小型“DB”,采用注册方式,对实例进行管理。 从实现上有两种方式,但本质是相同的,都是在管理一组对象。 为了讲述方便,先建立一组父子类,Subject是ConcreteSubject1和ConcreteSubject2的父类。 public class Subject { ... Read More
posted @ 2007-04-12 22:03 包建强 Views(1442) Comments(2) Diggs(0)
Singleton的出现,取代了C++中全局变量——这个破坏OO封装性的概念。 使用场所:控制Socket通信,写日志,简单工厂。 实现Singleton的三个要点 1.私有化构造函数 2.保存实例的静态私有变量 3.访问这个实例的公共静态方法 实现如下: public class CSingleton { private static CSingleton myS... Read More
posted @ 2007-04-11 21:28 包建强 Views(695) Comments(0) Diggs(0)
一般想起Undo,都会想起Memento模式和Command模式,今天先说前者。Memento模式最形象的例子是,把大脑的记忆一条条写在Blog上,其中大脑是Originator,每一条记忆信息是Memento,这条信息可以很复杂,于是可以独自作为一个类对象State,Blog这个载体就是CareTaker,负责添加与删除记忆信息。Memento模式UML图如下:Memento(备忘录):保存Or... Read More
posted @ 2007-04-10 23:03 包建强 Views(2110) Comments(7) Diggs(0)
但凡是模式,总要有一个UML才能说清楚。一般而言,我只记UML图,有些模式有自己的固定实现代码(只是其中一部分),尤其在C#中,甚至只是把用户当作一个Client端,而不暴露其内部实现,只把封装好的模式接口公布。于是,我会再记一些固定方法实现。还有就是适用场合(多看例子),优缺点。最后,横向的看模式与模式之间的比较,联合与差异。以上都做到了,这套心法也就成正果了。 OO的思想也很重要,三个基本特... Read More
posted @ 2007-04-10 17:12 包建强 Views(1274) Comments(0) Diggs(1)
1。IssueVision——SmartClient2。TaskVision——SmartClient3。ASP.NET Starter Kit 一共是5个,后来又送1个,1.4和2.0版本的都有,VB和C#的都有: ASP.NET Commerce ASP.NET Portal ASP.NET Reports ASP.NET Community ... Read More
posted @ 2007-04-08 23:25 包建强 Views(2161) Comments(7) Diggs(0)
刚刚买书回来,又花了不少银子,写点书评,希望对其他技术人员有帮助,算是导购吧。我的所有技术都是自学的,没有上过培训课,就是看书与实践。是时候把自己读过的书做一统计了,以飨读者。首先,冶金出版的书千万不要读,无论是入门还是深入,都不好,我大学时买过几本,都没讲明白。当时还是菜鸟级别,总之我上过当了,其他人不要再花冤枉钱。Wrox的书都不错,可惜被APress收购了,但是后者也出了不少经典好书。再有就... Read More
posted @ 2007-04-08 16:14 包建强 Views(647) Comments(2) Diggs(0)