shangxijie

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2009年3月26日

摘要: 举例说明: 电脑主板要工作就得依赖于CPU、内存、风扇、声卡、网卡等等,如果其中某个零部件坏了,那么需要把整个主板换掉么?当然不是。 下面的例子是展示 电脑主板和CPU、内存、风扇、声卡、网卡存在非常强耦合的例子 public class KeyBoard { private CPU cpu; private Memeory memory; ... 阅读全文
posted @ 2009-03-26 11:18 尚希杰 阅读(1011) 评论(0) 推荐(0) 编辑

2009年3月7日

摘要: 1.封装用户请求的变化 考虑一个日志记录工具。目前需要提供一个方便的日志API,使得客户可以轻松地完成日志的记录。该日志要求被记录到指定的文本文件中,记录的内容属于字符串类型,其值由客户提供。我们可以非常容易地定义一个日志对象: public class Log { public void Write(string target, string log) { ... 阅读全文
posted @ 2009-03-07 16:36 尚希杰 阅读(614) 评论(0) 推荐(0) 编辑

2009年3月6日

摘要: Dependence Inversion Principle”依赖倒置原则 说明:要依赖于抽象,不要依赖于具体。客户端依赖于抽象耦合。 抽象不应当依赖于细节;细节应当依赖于抽象; 要针对接口编程,不针对实现编程。 优点:使用传统过程化程序设计所创建的依赖关系,策略依赖于细节,这是糟糕的,因为策略受到细节改变的影响。依赖倒置原则使细节和策略都依赖于抽象,抽象的稳定性决定了系统的稳定性。 怎样做到依赖... 阅读全文
posted @ 2009-03-06 22:48 尚希杰 阅读(370) 评论(0) 推荐(0) 编辑

2009年1月12日

摘要: 面向接口编程的目的是封装变化点,在一个项目开发的过程中,针对需求的变化将易变的需求抽象封装为一个个接口,在编程时针对这些接口编程,即使以后需求发生了改变,由于是针对接口编程,所以这部分代码可以复用。 针对接口编程的好处: 1,分工合作,提高效率 2,有利于复用 3,有约束,统一管理 4,低耦合,有利于隔离 举例: A->B(A关联B,或A依赖B) A依赖与具体的东西... 阅读全文
posted @ 2009-01-12 10:51 尚希杰 阅读(352) 评论(0) 推荐(0) 编辑

2009年1月11日

摘要: 针对接口编程能帮助达到面向对象开发和设计中"低耦合"的要求. 举个例子:某公司有一台特殊打印机,还可以使用一年,一年后可能换为另一种打印机,这两种打印机都特殊而贵.所以现在的程序希望换了打印机后也少量修改就可用. 方法: 1,定义一个打印机接口. 2,定义打印机类A,B,分别实现此接口. 3,定义一个工厂类,在类中可选择返回由A实现的接口,或者由B实现的接口. 4,在程序中使用打印机时,就可以使用... 阅读全文
posted @ 2009-01-11 22:48 尚希杰 阅读(1019) 评论(0) 推荐(0) 编辑

2009年1月10日

摘要: 1、C#接口的作用 : C#接口是一个让很多初学C#者容易迷糊的东西,用起来好像很简单,定义接口,里面包含方法,但没有方法具体实现的代码,然后在继承该接口的类里面要实现接口的所有方法的代码,但没有真正认识到接口的作用的时候就觉得用接口是多此一举,当然你这样想那是绝对绝对错误的,比尔盖茨的微软请的员工都是比盖茨还聪明的人,他们的C#能添这样的多足吗?!关于接口的作用,网上有一位就真的深入浅出给我们... 阅读全文
posted @ 2009-01-10 11:03 尚希杰 阅读(467) 评论(0) 推荐(0) 编辑

2008年9月16日

摘要: 前几天与朗讯的一个大牛聊起来,发现面试的学问非常大。 knowledge,character,commitment 1 不要说自己没学过,说没学过代表把责任推给别人,而不是从自身找原因,属于推卸责任,公司是不喜欢推卸责任的员工的,可以说,我不知道,但我会把答案找出来。... 阅读全文
posted @ 2008-09-16 10:53 尚希杰 阅读(388) 评论(0) 推荐(0) 编辑

2008年9月10日

摘要: 在compact framework 中 滚动条是没有mouseup事件的,可以用定时器的方法来模拟这个事件. 代码如下: private System.Threading.Timer vscrollbarTimer; vscrollbarTimer = new System.Threading.Timer(new System.Threading.TimerCallback(this.ch... 阅读全文
posted @ 2008-09-10 10:56 尚希杰 阅读(269) 评论(0) 推荐(0) 编辑

2008年8月1日

摘要: string stringbuilder delegate 事件 静态类和单类 垃圾回收 struct class 哪个快 值类型 引用类型 传string是否改变,为啥? 泛型 构造函数加参数 property atrribute 阅读全文
posted @ 2008-08-01 21:35 尚希杰 阅读(230) 评论(0) 推荐(0) 编辑

摘要: 1, 请你说说.NET中类和结构的区别? 答:结构和类具有大体的语法,但是结构受到的限制比类要多。结构不能申明有默认的构造函数,为结构的副本是又编译器创建和销毁的,所以不需要默认的构造函数和析构函数。结构是值类型,所以对结构变量所做的改变不会影响其的原值,而类是应用类型,改变其变量的值会改变其原值。申明结构用 Struck关键字,申明类用class关键字,向方法传递结构是时是通过值传递的,而不... 阅读全文
posted @ 2008-08-01 16:32 尚希杰 阅读(384) 评论(0) 推荐(0) 编辑