Introduction
在PHP设计模式(八):工厂模式中我们介绍了创建设计模式(Creation patterns)中的工厂模式,下面我们将介绍另一种原型设计模式(Prototype Method)。
在PHP中,原型设计模式依靠cloning复制对象来实现。通过cloning构造的对象,将大量节省新对象的构造时间。
在PHP设计模式(八):工厂模式中我们介绍了创建设计模式(Creation patterns)中的工厂模式,下面我们将介绍另一种原型设计模式(Prototype Method)。
在PHP中,原型设计模式依靠cloning复制对象来实现。通过cloning构造的对象,将大量节省新对象的构造时间。
在PHP设计模式(七):设计模式分类中我们提到过创建设计模式(Creation patterns),创建设计模式专注于设计对象(Object)和实例(Instance)的创建过程。
创建设计模式包括下面五种设计模式:
当程序逐渐扩展的时候,需要更多的新对象,新对象的创建不应该依赖于创建者,换句话说,新对象的创建过程,不应该依赖调用创建函数的对象。为了减少冗余,增加拓展性,工厂模式就是一种创建新对象时使用的设计模式。
20世纪80年代,计算机发展迅速,编程技术也日益分化。桌面应用编程,也逐渐出现了用户图形界面和程序逻辑分离的程序设计。到了90年代,web的出现更是让这种程序设计模式得以延续。
这种设计模式便是MVC(Model-View-Control),除了MVC,还有MVC的变种,如MVVM(Model-View-View Model)等。
在Kernel Module实战指南(四):系统调用劫持中,我们对系统调用进行了劫持。今天我们将要介绍,如何劫持网络数据包的技术。
从Linux 2.4开始,引入了Netfilter作为Linux Kernel的包过滤框架。目前市面上的大部分网络设备,如路由器、硬件防火墙、嵌入式系统等,都使用Netfilter进行数据包的过滤器的开发。
在PHP设计模式(四):继承中我们介绍了继承,利用extends来进行程序设计的方法。
在PHP设计模式(二):抽象类和接口中我们介绍了接口,事实上也存在利用interface的程序设计方法,那就是多态。
和C/C++,Java,Python等语言一样,PHP也支持多态。多态更多是是一种面向对象程序设计的概念,让同一类对象执行同一个接口,但却实现不同的逻辑功能。
在PHP设计模式(二):抽象类和接口以及PHP设计模式(三):封装中,我们已经见过继承,也就是extends关键字。
和C/C++,Java,Python等语言一样,PHP也支持继承,而且和其他语言没有什么区别。
对于编程来说,对事物的抽象是一个老生常谈的话题,抽象问题更利于面向对象编程以及程序设计模式。
和C/C++,Java,Python等语言一样,PHP也支持面向对象,但是又有略微区别,如PHP支持在接口中定义常量,但是不支持抽象变量。