Decorator装饰模式是一种结构型模式,它主要是解决:“过度地使用了继承来扩展对象的功能”,由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多子类的膨胀(多继承)。继承为类型引入的静态特质的意思是说以继承的方式使某一类型要获得功能是在编译时。所谓静态,是指在编译时;动态,是指在运行时。 Read More
Prototype原型模式是一种创建型设计模式,它主要面对的问题是:“某些结构复杂的对象”的创建工作;由于需求的变化,这些对象经常面临着剧烈的变化,但是他们却拥有比较稳定一致的接口。感觉好像和前几篇所说的设计模式有点分不清,下面我们先来回顾一下以前的几种设计模式,予以区分,再来说说原型模式。
Read More
Builder生成器模式是一种创建型模式,它主要是应对项目中一些复杂对象的创建工作。所谓“复杂对象”,是只:此对象中还含有其它的子对象。Builder模式所面对的情况是:各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将他们组合在一起的算法却相对稳定。简单的说:子对象变化较频繁,对算法相对稳定。
Read More
由于工作的原因,这几天在研究GIS的控件,主要看了SuperMap和MapInfo两个公司的控件主要有以下收获1、Gis控件大多有这么几个控件:MapControl用来显示地图,ZoomIn,ZoomOut,漫游(用来拖拽地图),向左移,向右移等2、观看一些演示的flash和一些例子中发现Gis主要实现的功能有:对地图的放大缩小,地图的拖动,显示所选坐标的地理信息,当然还有的可以实现选取两点显示两... Read More
有一段时间没写博客了,近一段时间一直在用研究的代码生成的方法并完成一个小型的项目。虽然,项目不大,但是,发现的问题还是挺多的。先来谈谈对代码生成的感想:原来一直是在追求生成代码的完整,要求代码在生成后的结果至少是可用的。但是,我在代码生成中发现,有时为了判断某个字段后是否有“,”要经过一些复杂的判断。实际上没有必要的,因为也许生成的代码抛了错后程序员是需要到代码中把这个“,”加上就可以了。这就是我... Read More
前一点时间的B/S工作中常常发现有中文字显示乱码的问题,有时即使加上了句也没有用。后来经工程师指点发现,我们在工作中只生成了aspx的代码和页面对应的cs代码,而没有生成资源文件。于是我们便在代码中稍作修改并保存。此时查看项目文件中对应的页面下已生成资源文件。此时再运行程序,乱码的问题解决了。 Read More