摘要:
举例说明: 电脑主板要工作就得依赖于CPU、内存、风扇、声卡、网卡等等,如果其中某个零部件坏了,那么需要把整个主板换掉么?当然不是。 下面的例子是展示 电脑主板和CPU、内存、风扇、声卡、网卡存在非常强耦合的例子 public class KeyBoard { private CPU cpu; private Memeory memory; ... 阅读全文
摘要:
1.封装用户请求的变化 考虑一个日志记录工具。目前需要提供一个方便的日志API,使得客户可以轻松地完成日志的记录。该日志要求被记录到指定的文本文件中,记录的内容属于字符串类型,其值由客户提供。我们可以非常容易地定义一个日志对象: public class Log { public void Write(string target, string log) { ... 阅读全文
摘要:
Dependence Inversion Principle”依赖倒置原则 说明:要依赖于抽象,不要依赖于具体。客户端依赖于抽象耦合。 抽象不应当依赖于细节;细节应当依赖于抽象; 要针对接口编程,不针对实现编程。 优点:使用传统过程化程序设计所创建的依赖关系,策略依赖于细节,这是糟糕的,因为策略受到细节改变的影响。依赖倒置原则使细节和策略都依赖于抽象,抽象的稳定性决定了系统的稳定性。 怎样做到依赖... 阅读全文
摘要:
面向接口编程的目的是封装变化点,在一个项目开发的过程中,针对需求的变化将易变的需求抽象封装为一个个接口,在编程时针对这些接口编程,即使以后需求发生了改变,由于是针对接口编程,所以这部分代码可以复用。 针对接口编程的好处: 1,分工合作,提高效率 2,有利于复用 3,有约束,统一管理 4,低耦合,有利于隔离 举例: A->B(A关联B,或A依赖B) A依赖与具体的东西... 阅读全文
摘要:
针对接口编程能帮助达到面向对象开发和设计中"低耦合"的要求. 举个例子:某公司有一台特殊打印机,还可以使用一年,一年后可能换为另一种打印机,这两种打印机都特殊而贵.所以现在的程序希望换了打印机后也少量修改就可用. 方法: 1,定义一个打印机接口. 2,定义打印机类A,B,分别实现此接口. 3,定义一个工厂类,在类中可选择返回由A实现的接口,或者由B实现的接口. 4,在程序中使用打印机时,就可以使用... 阅读全文
摘要:
1、C#接口的作用 : C#接口是一个让很多初学C#者容易迷糊的东西,用起来好像很简单,定义接口,里面包含方法,但没有方法具体实现的代码,然后在继承该接口的类里面要实现接口的所有方法的代码,但没有真正认识到接口的作用的时候就觉得用接口是多此一举,当然你这样想那是绝对绝对错误的,比尔盖茨的微软请的员工都是比盖茨还聪明的人,他们的C#能添这样的多足吗?!关于接口的作用,网上有一位就真的深入浅出给我们... 阅读全文
摘要:
前几天与朗讯的一个大牛聊起来,发现面试的学问非常大。 knowledge,character,commitment 1 不要说自己没学过,说没学过代表把责任推给别人,而不是从自身找原因,属于推卸责任,公司是不喜欢推卸责任的员工的,可以说,我不知道,但我会把答案找出来。... 阅读全文
摘要:
在compact framework 中 滚动条是没有mouseup事件的,可以用定时器的方法来模拟这个事件. 代码如下: private System.Threading.Timer vscrollbarTimer; vscrollbarTimer = new System.Threading.Timer(new System.Threading.TimerCallback(this.ch... 阅读全文
摘要:
string stringbuilder delegate 事件 静态类和单类 垃圾回收 struct class 哪个快 值类型 引用类型 传string是否改变,为啥? 泛型 构造函数加参数 property atrribute 阅读全文
摘要:
1, 请你说说.NET中类和结构的区别? 答:结构和类具有大体的语法,但是结构受到的限制比类要多。结构不能申明有默认的构造函数,为结构的副本是又编译器创建和销毁的,所以不需要默认的构造函数和析构函数。结构是值类型,所以对结构变量所做的改变不会影响其的原值,而类是应用类型,改变其变量的值会改变其原值。申明结构用 Struck关键字,申明类用class关键字,向方法传递结构是时是通过值传递的,而不... 阅读全文