上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 24 下一页
摘要: 一、策略模式的定义策略模式定义了算法族,分别封装起来,让它们之间可以互换替换,此模式让算法的变化独立使用算法的客户。二、使用策略模式的一个例子2.1引出问题某公司做了一套模拟鸭子的游戏:该游戏会出现各种鸭子,他们具有相似点(都会叫,会游泳,会表达自己的特征)和异同点(每种展示自己的特征是不同的方法),很容易想到使用OO技术,定义个鸭子超类,让其他的鸭子类来继承鸭子超类。由于异同点都会展示自己的特征,只是展示特征方式不同,所以在超类中特征的方法是抽象或者使用一个接口(在此就使用接口,因为每一个类都会有展示方法)。下面给出其类图。可当某一天发现了问题,问题1:如果出现了一个DuckC,展示方式和D 阅读全文
posted @ 2013-09-28 21:53 haiziguo 阅读(2020) 评论(3) 推荐(2) 编辑
摘要: Service IService DataItem作为IService,Service的参数 根据不同的VM注入不同的Service 菜单 http://wpftutorial.net/Menus.html 状态栏 http://stackoverflow.com/questions/1373529/how-do-i-customize-the-wpf-stat... 阅读全文
posted @ 2013-09-25 13:34 haiziguo 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 一、两个设计原则:原则一:找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起。鸭子模型中展现是必须的,而且每个展现都不一样,所以可以在基类中定义一个抽象类。以便子类可以更好的重写。在鸭子模型中,飞和叫的行为是经常要发生改变的,而且是鸭子的行为,我们可以让其抽象为接口。从而为每一个类传递不同的飞和叫的行为。原则二:面向接口编程,不要面向实现编程面向接口编程的含义是:让接口作为鸭子的变量,具体的实现是一个继承接口的类。这样每个继承接口的类就可以达到了复用的效果。二、动态改变鸭子的行为时,可以使用Setter,通过C#的多态来实现。public class Duck .. 阅读全文
posted @ 2013-09-15 11:27 haiziguo 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 第一部分 C#基础一、C#中的类型和对象二、C#中的泛型三、C#中的委托和事件四、C#中的接口和抽象类五、C#中的枚举类型六、C#中的反射七、C#中的AppDomain八、C#中的序列化和反序列化九、C#中的线程十、C#中的Linq十一、C#中的xml第二部分 C#面向设计模式第三部分 C#应用架构的设计与实现 阅读全文
posted @ 2013-09-14 22:31 haiziguo 阅读(259) 评论(0) 推荐(0) 编辑
摘要: public static T GetInstance(DataRow dr) { var ctors = typeof(T).GetConstructors( BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public); if (ctors.Count() != 1) throw new InvalidOperationEx... 阅读全文
posted @ 2013-09-02 16:42 haiziguo 阅读(1955) 评论(0) 推荐(0) 编辑
摘要: 一、构建ViewModels 设计模式的其中一个目标就是抽象构造一个给出指定类型的对象或者实现指定类型的接口的过程。需要把类给客户端,让客户端去使用,但是要隐藏类是具体的实现细节。 1.1The Application 在View中有个一个App,实现Application这个文件可以用来管理ViewModels。 xaml: cs: public ... 阅读全文
posted @ 2013-09-01 17:59 haiziguo 阅读(1516) 评论(0) 推荐(0) 编辑
摘要: 一、分离关注点 目的是确保每一个模块值有单一的,明确的目的,不需要去负责其他的功能。单一的目的也称为关注点。 1.1依赖 引用程序集对于依赖来说不是必须的。依赖关系可能也存在于一个代码单元要知道另一个单元,如果是一个类需要使用另外一个类,那么前者就是依赖于后者,特别的依赖还存在于类的方法,属性,以及构造器。强烈建议把类的接口和实现分开。 上面两端代码是实现同样的目的,实现画出一个形状 ... 阅读全文
posted @ 2013-09-01 15:10 haiziguo 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 在WPF或者是在Silverlight中有个非常强大的可以编辑的容器控件RichTextBox,有的时间会采取该控件来作为编辑控件。鉴于这方面的文章不多,所以想把他的一些用法总结一些,以供大家参考。一、RichTextBox的内容相关的类1.1RichTextBox的内容结构RichTexBox是个可编辑控件,可编辑我们很容易想到word的可编辑,在word里面我们经常会新建一个Document,然后一段一段的编写,有的时间会插入图片,或者是特殊的文本。同样RichTextBox也是一个以Document为主体的一个控件,Document也有段落(Paragraph),不过段落中是分为小片小片 阅读全文
posted @ 2013-08-25 14:24 haiziguo 阅读(5524) 评论(5) 推荐(4) 编辑
摘要: 使用模板HierarchicalDataTemplate 从父节点删除选中项 private void treeView1_Selected(object sender, RoutedEventArgs e) { if ((e.OriginalSource as TreeViewItem).Header.GetType()==typeof(InlineUI... 阅读全文
posted @ 2013-08-22 16:15 haiziguo 阅读(5526) 评论(0) 推荐(0) 编辑
摘要: 一、CLR执行模型1.1从代码到程序集CLR执行的模型是从代码开始,经过编译器生成托管模块,默认情况下可以让多个托管模块和资源生成程序集。下图为其大致过程。1.2执行程序集当系统运行托管模块时会检查文件头,判断启用一个32位的进程还是64位的,然后会在其进程中加载对应的MsCorEE.dll,里面有... 阅读全文
posted @ 2013-08-14 23:48 haiziguo 阅读(1328) 评论(2) 推荐(1) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 24 下一页