面向对象设计模式与原则

        听了李建忠老师讲的C#面向对象设计模式纵模谈第一讲:面向对象设计模式与原则,真是受益非浅。不仅把概念结合实例描述的非常之形象,而且还教会我们该如何理解和学习这些抽象的语言。面向对象和设计模式都是一个较高层次的抽象概念,也是软件开发人员必备的能力,要学习和掌握是不容易的。李老师把OO和OOPL区别和联系讲开来,把结构化程序和面向对象程序的优缺点都实例化,同时强调了面向对象和设计模式,以及面向对象设计模式的关系。始终强调拥有面向对象思想是根本,学习面向对象不能依赖于面向对象语言,面向对象设计模式是“好的面向对象设计”。
        面向对象三大机制:
                封装-----隐藏内部实现
                继承-----复用现有代码
                多态-----改写对象行为
        设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案。
        面向对象设计模式描述了面向对象设计过程中、特定场景下、类与相互通信的对象之间常见的组织关系。
         三大基本面向对象设计原则:
               针对接口编程,而不是针对实现编程
               优先使用对象组全,而不是类继承
               封装变化点
         具体设计原则有:a)单一职责原则SRP;b)开放封闭原则OCP;c)Liskov替换原则LSP;d)依赖倒置原则DIP;e)接口隔离原则ISP

         最后强调使用重构得到模式。敏捷软件开发实践提倡的“Refactoring to Patterns”是目前普遍公认的最好的使用设计模式的方法。

        虽然这些概念在很多书上包括面向对象和语言语法书上都有讲。包括《敏捷软件开发》中都善述了面向对象概念及面向对象设计的原则,但真的总让人有一种云里雾里的感觉。虽然自己从事面向对象开发多年,但还是受益非浅,从本质上看问题是让人记忆深刻的。

posted on 2005-11-02 23:23  蝈蝈  阅读(1554)  评论(2编辑  收藏  举报