08 2011 档案
摘要:
四个角色:抽象原型角色(Prototype)、具体原型角色(ConcretePrototype)、原型管理器角色(PrototypeManager)、客户端角色(Client)
抽象原型角色(Prototype):定义原型的克隆方法接口
具体原型角色(ConcretePrototype):实现原型具体的克隆方法
原型管理器角色(PrototypeManager):负责具体原型的增、删、查和原型容器。
客户端角色(Client):实例化多个原型、并且通过原型的克隆接口克隆千千万万个子对象。
实现思路:首先实例化多个原型A、B、C、D,然后在客户端调用A原型的克隆接口即可获取到A原型的克隆子对象,并且可以这个对象的值。
类图:
阅读全文

摘要:
三个角色:实体接口(Subject),真实实体(RealSubject),代理实体(Proxy)
实体接口(Subject):目标对象的抽象接口
真实实体(RealSubject):目标对象的具体实现.
代理实体(Proxy):同样实现Subject接口,但是在方法内部是调用真实实体的相应方法实现功能点,而非代理类自己去处理事务。
实现思路:真实实体和代理实体都继承并且实现同一个接口,在客户端调用代理实体以达到调用真实实体的目的。
类图:
阅读全文

摘要:
4个角色:被观察者(Subject/目标对象接口),具体被观察者(ConcreteSubject/具体目标对象),观察者(Observer),具体观察者(ConcreteObserver)
被观察者(Subject/目标对象接口):目标对象的抽象接口
具体被观察者(ConcreteSubject/具体目标对象):目标对象的具体实现,能够添加、删除具体对象并且通知所有的观察者对象。
观察者:观察到目标对象的动作的时候有所反应的接口
具体观察者:观察者对象的具体实现,并且有相关动作。
实现思路:客户端创建目标对象,目标对象添加所有的观察者对象,然后目标对象更新,所有的观察者对象产生反应。
阅读全文

摘要:
在Silverlight中的MatrixTransform矩阵变换相对上篇文章所述的变换较复杂一些,但这种变换也更灵活。
MatrixTransform的实质:让需要变换的元素上的每一个像素点*矩阵得到这个点的新坐标。
下面我们来看看MatrixTransform的3*3矩阵元素图如下:其中的数字0、0、1在Silverlight中是固定不变的,所以我们可以不加理会,而M11,M12,M21,M22是我们需要相乘的坐标矩阵模块。如下图所示:
阅读全文

摘要:
在Silverlight的变换中有五种类型,分别是RotateTransform:旋转变换、ScaleTransform:缩放变换、SkewTransform:倾斜变换、TranslateTransform:移动变换、TransformGroup:变换组、MatrixTransform:矩阵变换,在这里我们分别讲解这五种变换的使用方法以便在实际应用中更好的应用。
RotateTransform:旋转变换
使用方法:设置Angle属性为需要转换的角度,设置其中心点为CenterX、CentyY,这个是X、Y轴的二维平面旋转。
下面我们来看一个Demo实例,可以设置让图标按照某一个角度旋转,其代码如下:
阅读全文

摘要:
在本文将以MVVM Light Toolkit为例讲解MVVM框架在现实中的使用入门,首先我们在http://mvvmlight.codeplex.com/下载它的MVVM框架下来。也可以通过 http://files.cnblogs.com/chengxingliang/GalaSoft.MvvmLight.V3.rar 下载MVVM Light Toolkit。然后我们安装这个安装包,然后重新打开VS2010,新建一个项目,Tip:MVVM分为Model、ViewMode、View三层。
•Model是实体类层,它存放所有需要用到的实体类。
•ViewMode层是逻辑层,操作所有Model层和View界面层的逻辑运算并且作为一个大的实体类,提供属性绑定到View层上面去。
•View层是界
阅读全文

摘要:
本节将讲述三个Silverlight中应用的小技巧:Silverlight页面的放大缩小、Silverlight操作Html、Html操作Silverlight控件。
一、Silverlight页面的放大缩小
首先对于Silverlight页面的放大缩小我们可以使用ScaleTransform对Canvas控件进行设置。这样所有在该Canvas控件内的所有子控件都被放大缩小。
在这里我们使用Silverlight中的按钮,通过HtmlElement类操作Html中的ID为Text1的input控件的Value属性值。
在这里我们通过GetElementById方法找到Html控件然后为它增加一个onchange事件,在这个事件中获取到控件的值并且设置到Silverlight控件中去。
阅读全文
