摘要: 违反接口隔离原则的例子一: 我们假设一个人会开汽车卡车坦克(但是不会开炮),我们先设置以下类 Vehicle类型 Tank类型 这时候我们如果要人开Vehicle类的Car或者Truck,那么这个人就不能开Tank。 如果让他开Tank,则他不能开Vehicle 仔细看会发现,type99(99式坦 阅读全文
posted @ 2019-10-08 10:02 卯毛 阅读(661) 评论(0) 推荐(0) 编辑
摘要: 依赖关系: 在自顶向下逐步求精的过程中, 大问题的解决依赖于中问题和小问题的解决, 中问题的解决依赖于小问题的解决,箭头向下指表示调用者依赖提供者。 在面向对象过程中一般的依赖关系是: 图为不同司机对应开不同车。 但事实是一个司机可以驾驶多种车,引入依赖反转原则。 依赖反转原则是另一种思路,并不是对 阅读全文
posted @ 2019-10-07 13:17 卯毛 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 在介绍接口Interface的主要功能之前,我们先介绍一下什么是紧耦合 紧耦合的编程: 倘若Engine类出现错误,如误写为this.RPM = 0; 则在大项目中难以定位修改这个问题,因此引入接口减少耦合程度。 接口是一组契约,用来约束一组功能,这组功能的调用者是被约束的,被约束为只能调用这组接口 阅读全文
posted @ 2019-10-05 15:31 卯毛 阅读(972) 评论(0) 推荐(0) 编辑
摘要: 我们以以下代码为例,简述一下抽象类与接口的由来和使用 我们发现这个例子中,Vehicle类中的Run()和Stop()方法根本没有用到过,而且Vehicle is Running 这种说法太不具体了。 因此我们修改Vehicle类,让Run()和Stop()方法里干脆啥都别写了,反正又用不到 但是{ 阅读全文
posted @ 2019-09-30 14:24 卯毛 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 首先:类成员的访问级别是以类的访问级别为上限的! 也就是类的访问级别低时,类成员的访问级别高也无法突破类的访问级别 public级别,作用域是这个解决方案() internal级别,作用域是整个装配集(Assembly) protected级别,作用域是整个解决方案()中以它自己的类为基类以及它的派 阅读全文
posted @ 2019-09-28 16:27 卯毛 阅读(863) 评论(0) 推荐(0) 编辑
摘要: 继承中的隐藏:(不要使用隐藏,语法没有错误但是开发项目时会被视为错误) 在继承类中完全保留基类中的函数名 隐藏之后,Car中的Run()有两个版本,一个是继承来的Run() 被隐藏,另一个是Car中新写的Run()。 两个版本共存, 如果引用类型是父类,实例类型是子类,调用隐藏方法, 如果引用类型是 阅读全文
posted @ 2019-09-28 16:01 卯毛 阅读(436) 评论(0) 推荐(0) 编辑
摘要: ``` class Program { static void Main(string[] args) { Type t = typeof(Student);//typeof(类) 取类的类型 并且存储在Type类型的t变量(其实是把类的类型的引用存在t中) //t stu1 = new t();这样是... 阅读全文
posted @ 2019-09-27 09:04 卯毛 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 我们经常需要从数据库表中取数,取数是以取DataTable的方式,但是我么希望以对象为单位进行这种操作。即存在把取到的DataTable(数据表)转换为ModelList(对象集合)的需求。 原理稍微复杂,因此我画了一下: 这是DataSet中的DataTable 这是DataTable如何转换成M 阅读全文
posted @ 2019-09-10 16:01 卯毛 阅读(2040) 评论(2) 推荐(0) 编辑
摘要: class Program { static void Main(string[] args) { var dog = new Dog("A"); dog.IsHappy(new shit());//狗看到狗屎很开心 //dog.IsHappy(3);//狗看到数字3很开心,未添加约束时可以生效 / 阅读全文
posted @ 2019-09-07 09:02 卯毛 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 本文文字方面引用 微冷的風丶(博客地址:https://www.cnblogs.com/smbk/) 代码部分是本人亲自写的一个sqlite数据库的最简单登录界面练手(当时写的太烂了,现在回顾重构一下) 三层架构分为:表现层(UI(User Interface))、业务逻辑层(BLL(Busines 阅读全文
posted @ 2019-08-27 15:08 卯毛 阅读(1085) 评论(0) 推荐(0) 编辑