一、设计模式简介
首先我们来认识一下什么是设计模式:
设计模式是一套被反复使用、容易被他人理解的、可靠的代码设计经验的总结。设计模式不是Java的专利,我们用面向对象的方法在php里也能很好的使用23种设计模式。
那么我们常说的架构、框架和设计模式有什么关系呢?
架构是一套体系结构,是项目的整体解决方案;框架是可供复用的半成品软件,是具体程序代码。架构一般会涉及到采用什么样的框架来加速和优化某部分问题的解决,而好的框架代码里合理使用了很多设计模式。
二、提炼设计模式的几个原则:
(1)开闭原则:模块应对扩展开放,而对修改关闭。
(2)里氏代换原则:如果调用的是父类的话,那么换成子类也完全可以运行。
(3)依赖倒转原则:抽象不依赖细节,面向接口编程,传递参数尽量引用层次高的类。
(4)接口隔离原则:每一个接口只负责一种角色。
(5)合成/聚合复用原则:要尽量使用合成/聚合,不要滥用继承。
三、设计模式的功用?
设计模式能解决替换杂乱无章的代码,形成良好的代码风格代码易读,工程师们都能很容易理解增加新功能时不用修改接口,可扩展性强
稳定性好,一般不会出现未知的问题设计模式不能解决:
(1)设计模式是用来组织你的代码的模板,而不是直接调用的库;
(2)设计模式并非最高效,但是代码的可读性和可维护性更重要;
(3)不要一味追求并套用设计模式,重构时多考虑。
四、设计模式分类
1、创建型模式:
单例模式、工厂模式(简单工厂、工厂方法、抽象工厂)、创建者模式、原型模式。
2、结构型模式:
适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
3、行为型模式:
模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。
本文讲述如何在thinkphp5中完成登录并保存session、然后根据不同的用户权限跳转相应页面功能的实现。我也在学习thinkphp源码的路上,记录一下并与大家分享。完成该步骤主要有以下三个步骤完成。
最近发现不少代码是重复写的,而且会归入不同的项目,所以想着还是独立出固定的类库,方便以后移到别的项目里。这样以后我就可以为html的调用,编写另外的可以重复使用的类了。
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!