摘要: 定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。 问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操作;假如修改类A,会给程序带 阅读全文
posted @ 2017-09-14 20:14 下路派出所 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 通俗的定义:子类可以扩展父类的功能,但不能改变父类原有的功能。 覆盖或实现父类方法时可以放大输入参数 在一个继承中,如果子类传入的参数小于或等于父类参数时,那么此方法在执行时,会永远调用父类的方法,而不会调用子类中的方法,因为这是重载,父类中的方法还存在,没有被替换掉。 如果大于父类传入参数,会使得 阅读全文
posted @ 2017-09-14 17:47 下路派出所 阅读(541) 评论(0) 推荐(0) 编辑
摘要: 定义:不要存在多于一个导致类变或接口更的原因。通俗的说,即一个类或一个接口只负责一项职责。 单一职责原则好处 降低类的复杂性 每个类实现单一职责,并且单一职责都有清楚明确的定义,复杂性当然降低。 提高可读性 类的复杂性降低了,当然提高了可读性了。 提高可维护性 类的复杂性降低,可读性好,当然好维护。 阅读全文
posted @ 2017-09-14 15:41 下路派出所 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 使用附加属性增加控件属性,使得这个附加属性在使用的时候没有局限性,可以在任何的控件中使用它来增加所需要的属性,使得控件的属性使用起来非常灵活 一、自定义附加属性 在布局文件中使用它 在style文件中进行使用 阅读全文
posted @ 2017-09-14 10:15 下路派出所 阅读(4791) 评论(0) 推荐(1) 编辑
摘要: 使用依赖属性自定义控件,依赖属性必须定义在自定义控件中,不能定义在其他文件中 一、先实现一个类继承你要复写的类 在里面定义的依赖属性就为你自定义控件的属性,可以在布局文件中使用它们来进行设定值 可以在布局中设定值,然后在style中进行引用 在style中进行引用 阅读全文
posted @ 2017-09-14 10:00 下路派出所 阅读(768) 评论(1) 推荐(0) 编辑
摘要: 一、EventAggregator简介 EventAggregator是Prism中专门处理ViewModel与ViewModel之间事件传递的类对象,它提供了针对事件的发布方法和订阅方法,所以可以非常方便的来管理事件。下面的图就是其实现的一个比较简便的说明: 二、EventAggregator单页 阅读全文
posted @ 2017-09-14 09:44 下路派出所 阅读(3066) 评论(0) 推荐(0) 编辑