首页 > 代码库 > wcf之二(接口契约式编程思想)
wcf之二(接口契约式编程思想)
Wcf编程之二(接口契约编程)
简述
任务理解接口式编程,定义一个接口是为了遵循中规范,便于程序的扩展。接口是一种能力也是一种约定。1、接口不可以被实例化 2、实现类必须实现接口的所有方法(抽象类除外)3、接口可以实现多继承 4、接口中可定义属性。
实例
打印机需要墨盒和纸张。墨盒有黑白、彩色。纸张有A4 B5.打印机怎么实现对不同纸张好墨盒打印的呢?接口契约式编程,打印机执行定义纸张接口和墨盒接口两个约定。纸张厂家和墨盒厂家只需遵循约定就可有打印。
代码
接口契约墨盒
public interface IInkBox { string getColor(); }
纸张
public interface IPaper { string getSize(); }
遵循约定纸张厂家造纸 A4 B5两种纸张
class A4Paper:IPaper { public stringgetSize() { return "A4Paper"; } } class B5Paper:IPaper { public stringgetSize() { return "B5Paper"; } }
墨盒厂家遵循约定墨盒黑白 彩色
class ColorBox:IInkBox { public stringgetColor() { return "彩色"; } } class GrayBox:IInkBox { public stringgetColor() { return "黑白"; } }
打印机类
class Printer { public voidgetPrinter(IInkBox box, IPaper paper) { Console.Write("用{0}墨盒,纸张{1}",box.getColor(),paper.getSize()); } }
打印机实现打印不同纸张和不同颜色的方法 staticvoid Main(string[]args)
{ GrayBox gray = newGrayBox(); A4Paper A4 = new A4Paper(); ColorBox colorBox = newColorBox(); B5Paper B5 = new B5Paper(); Printer printer = newPrinter(); printer.getPrinter(gray,A4);//打印机厂商给出一个约定,纸张和墨盒厂商遵循 Console.WriteLine(); printer.getPrinter(colorBox,B5); Console.Read(); }
总结
可以看出面向契约式编程,非常编译程序的扩展。如果又需要打印其他的纸张,执行遵循纸张接口就可以了。
wcf之二(接口契约式编程思想)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。