设计模式导语一

现今所有的软件中都应用了设计模式,模式除了可以解决很多实际问题外,还给开发者带来非常顺畅的心情,本人是Delphi Fans现在关于这门语言的资料越来越少了。在这里给大家推荐两本书,一本是《敏捷软件开发》和《Delphi模式编程.刘艺》。我的笔记来自这两本书.

1.单一职责原则(SRP).一个类而言,应该公仅有一个引起它变化的原因,所为“职责”就是变化的原因,如果能够想到多于一个的动机去改变一个类,那个这  个类就具有多一个职责。

2.   开放-封闭原则(OCP)  软件实体(类.模块.函数等)应该是可以扩展的,但是不可修改的。对于扩展是开发的,对于更改是封闭的。要点:关键是抽象,模块可以操作一个抽像体,其依赖于一个固定的抽象体,所以它对于更改可以是关闭的,同时通过从这个抽像体派生,也可以扩展此模块的行为。例:

        type

          IServer = interface //抽像接口
             ['{3E91264F-BBC0-44DF-8272-BD8EA9B5846C}']
           procedure View(o: TObject);
         end;

        TServerDB=Class(IServer) //具体实现类

          procedure View(o:TObject);

        end;

       TClientUser=class //客户类

         private

           FSDB:IServer;

         public

           procedure SetDB;

      end;

       在TClientUser中,只是依赖IServer,IServer是一个固定不变的抽像体,其它模块或函数升级或优化都对引用些接口的类或过程等没有影响,反之也可以

      从此接口继承,重新定义亲的类或进行扩展!这种设计方法是遵守了OCP原则,OCP的核心是“抽象”,这个原则可以带来面向对对对象技术的灵活性,可重用性及维护性,同样这种原则也不能泛用,正确做法是对程序中呈现出频繁变化的部分做出抽像。拒绝不成熟的抽像和抽像本身一样重要。

       在delphi编程设计中,有两个非常重要的概念,抽象类和对象接口,这个两个都是程序设计时位于最顶层的公共部分。两者各有各的作用,抽象类给出描述方法,且可以给出方法的实现,接口侧只是描述方法没有具体实现,接口中的方法都是Public的。接口的好处是可以支持多重继承,对象接口可以通过计数器自动管理实例的生命周期,无需手动释放。

   


 

原文地址:https://www.cnblogs.com/carcode/p/2323147.html