设计模式应该是六大原则吧
①.、开闭原则(Open Close Principle)
里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一.
里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现.
LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为.里
氏代换原则是对"开-闭"原则的补充.实现"开-闭"原则的关键步骤就是抽象化.而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现
抽象化的具体步骤的规范.—— From Baidu 百科
这个是开闭原则的基础,具体内容:真对接口编程,依赖于抽象而不依赖于具体.
这个原则的意思是:使用多个隔离的接口,比使用单个接口要好.还是一个降低类之间的耦合度的意思,从这儿我们看出,其实设计模式就是一个软件的设计思想,从大型软件架构出发,为了升级和维护方便.所以上文中多次出现:降低依赖,降低耦合.
为什么叫最少知道原则,就是说:一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立.
原则是尽量使用合成/聚合的方式,而不是使用继承.
①工厂模式
工厂模式是一种类,它具有为您创建对象的某些方法.您可以使用工厂类创建对象,而不直接使用 new.这样,如果您想要更改所创建的对象类型,只需更改该工厂即可.使用该工厂的所有代码会自动更改.
某些应用程序资源是独占的,因为有且只有一个此类型的资源.例如,通过数据库句柄到数据库的连接是独占的.您希望在应用程序中共享数据库句柄,因为在保持连接打开或关闭时,它是一种开销,在获取单个页面的过程中更是如此.
观察者模式为您提供了避免组件之间紧密耦合的另一种方法.该模式非常简单:一个对象通过添加一个方法(该方法允许另一个对象,即观察者 注册自己)使本身变得可观察.当可观察的对象更改时,它会将消息发送到已注册的观察者.这些观察者使用该信息执行的操作与可观察的对象无关.结果是对象可 以相互对话,而不必了解原因.
命令链 模式以松散耦合主题为基础,发送消息、命令和请求,或通过一组处理程序发送任意内容.每个处理程序都会自行判断自己能否处理请求.如果可以,该请求被处理,进程停止.您可以为系统添加或移除处理程序,而不影响其他处理程序.
我们讲述的最后一个设计模式是策略 模式.在此模式中,算法是从复杂类提取的,因而可以方便地替换.例如,如果要更改搜索引擎中排列页的方法,则策略模式是一个不错的选择.思考一下搜索引擎 的几个部分 —— 一部分遍历页面,一部分对每页排列,另一部分基于排列的结果排序.在复杂的示例中,这些部分都在同一个类中.通过使用策略模式,您可将排列部分放入另一个 类中,以便更改页排列的方式,而不影响搜索引擎的其余代码.
土嘎嘎的粉丝们大家好,很高兴能回答你的问题.
程序软件开发中设计模式常用的的六大原则有下面几个:
①.、开闭原则
里氏代换原则是面向对象设计的基本原则之一. 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现.LSP 是继承复用的基石,只有当派生类可以替换掉基类,且软件单位的功能不受到影响时,基类才能真正被复用,而派生类也能够在基类的基础上增加新的行为.里氏代换原则是对开闭原则的补充.实现开闭原则的关键步骤就是抽象化,而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范.
这个原则是开闭原则的基础,具体内容:针对接口编程,依赖于抽象而不依赖于具体.
这个原则的意思是:使用多个隔离的接口,比使用单个接口要好.它还有另外一个意思是:降低类之间的耦合度.由此可见,其实设计模式就是从大型软件架构出发、便于升级和维护的软件设计思想,它强调降低依赖,降低耦合.
最少指导原则是指:一个实体应当尽量少地与其他实体之间发生相互作用,使得系统功能模块相对独立.
合成复用原则是指:尽量使用合成/聚合的方式,而不是使用继承.
工厂模式主要的意图是:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行.
缺点:每次增加一个产品时,都需要增加一个具体类和对象实现工厂,使得系统中类的个数成倍增加,在一定程度上增加了系统的复杂度,同时也增加了系统具体类的依赖.这并不是什么好事.
注意事项:作为一种创建类模式,在任何需要生成复杂对象的地方,都可以使用工厂方法模式.有一点需要注意的地方就是复杂对象适合使用工厂模式,而简单对象,特别是只需要通过 new 就可以完成创建的对象,无需使用工厂模式.如果使用工厂模式,就需要引入一个工厂类,会增加系统的复杂度.
希望能帮到你,谢谢!
php最常见的设计模式是单例,工厂.相较来说单利还是很常用的.很多的工具,比如数据库操作、缓存操作或某一个功能操作都可以写成一个单例去做.代码的一个开发思想都是mvc,这是几乎所有框架都遵循的一个原则.
设计模式原则是:
①.、单例模式:PHP中的对象生存期间是从该脚本开始一直到该脚本结束为止,所以呢PHP的单例模式只是在一个页面中(这里可能包含很多其他页面,不是狭义的单页面)多次用到该对象时才会起作用,多次用到时不去重复的new对象(多个人做一个项目时,难免会碰到一次请求中多次实例一个对象的情况),将不会耗费不必要的资源(数据控连接操做效果很明显),还有一点就是可以保证整个脚本中都是同一个对象,这种模式是怎么实现的呢,他的实现有几个要注意的点:
a. 首先就是要将__construct()方法定义为私有方法,这样就不能通过new来得到一个新的实例了,单例模式不能在外部进行实例化,这能字自身内部进行实例化;