OCP 开闭原则

上一篇 / 下一篇  2008-01-25 13:08:29 / 个人分类:转载

OCP 开闭原则:“软件实体(类、模块、方法等)应该是可以扩展的,但是不可修改。”

      开闭原则可以说是OOD中最基本的一个原则,在设计模式中处处可见,同时也是IoC的基础,OCP原则,是程序员向设计师发展的第一个必会OOD原则。

      假设我们开发了一个操作系统,在开发之前,我们不知道我们的操作系统会支持哪些厂商的打印机,因为打印机厂商不断的在倒闭与增加。为了很方便的支持各种打 印机并不修改我们的操作系统源程序,我们必须要公布一个打印机驱动接口,并针对找个接口开发管理程序。于是,我们便有了以下设计:

      其中,我们IPrint接口是我们向外公布的接口,如果想要在我们的操作系统上使用他们的打印机,那就要实现找个接口。Printer类是一个打印者类,他的功能是获取打印驱动程序的名称、对象,以及获取相关的打印驱动。
这个组件,针对各种打印机厂商,IPrint接口是开放的,可以实现,封装他们自己的特性;针对Printer类是关闭的,不允许修改。如果有新打印机产品推出,只要实现IPrint接口,就能在我们的操作系统上运行。这样,就达到了我们以不变应万变的目的。

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-01-26  
  12345
6789101112
13141516171819
20212223242526
2728293031  

数据统计

  • 访问量: 95
  • 日志数: 350
  • 建立时间: 2007-12-06
  • 更新时间: 2008-01-25

RSS订阅

Open Toolbar