对象关系行为模式之延迟加载
一、概念
Lazy Load:一个对象,它虽然不包含所需要的所有数据,但是知道怎么获取这些数据。
延迟加载貌似很简单,就是在数据需要时再从数据库获取,减少数据库的消耗。但这其中还是有不少技巧的。…
老调重弹–面向对象设计原则–S.O.L.I.D设计原则
SRP - 单一职责原则
- 全称:Single Responsibility Principle
- 定义:每一个上下文对象(类、函数、变量等等)的定义应该仅仅包含单一的职责
- 描述:对象提供单一职责的高度封装,对象的改变仅仅依赖于单一职责的改变,它基于软件设计中的高内聚性定义
- 出处:Robert C. Martin(Bob大叔)《Agile Software Development, Principles, Patterns, and Practices》2002
- 源头:Tom DeMarco 《Structured Analysis and Systems Specification》提出 cohesion 1979
- 宣言:to make our classes more robust ! a class should
常用PHP设计模式
…
2013PHP技术峰会《Bug Free的PHP开发实践分享》摘录
上次参加了2013PHP技术峰会,非常精彩,很受益。最近空闲下来,把嘉宾的PPT下载下来看了一通,当然有大牛的主题对我这个菜鸟来说还是看不懂。这里摘录了@高春辉 老师的《Bug Free 的 PHP 开发实践分享》的主题分享内容,我觉得很有价值很有实践指导意义,没有晦涩的技术流,但是很多都是PHP实践中值得注意的细节点。…
thinkphp的缺点,好的代码应该是什么样的
好的代码应该是语义化的、自解释的,配合文档注释和单元测试,甚至可以说代码本身就是文档。说真心话,thinkphp的源代码根本没心情读下去,我猜凡是读过symfony、laravel、phalcon等流行源代码的应该都没心情去读thinkphp。
我觉得thinkphp在国内的流行是一个错误,这误导了很多人,为了写这个评论,我忍受痛苦git clonehttps://github.com/liu21st/thinkphp.git 翻开源代码一点点表达下自己的感受。…
PHP程序员如何理解依赖注入容器(dependency injection container)
PHP程序员如何理解依赖注入容器(dependency injection container)
背景知识
传统的思路是应用程序用到一个Foo类,就会创建Foo类并调用Foo类的方法,假如这个方法内需要一个Bar类,就会创建Bar类并调用Bar类的方法,而这个方法内需要一个Bim类,就会创建Bim类,接着做些其它工作。…
PHP程序员如何理解IoC/DI
思想
…思想是解决问题的根本
思想必须转换成习惯
构建一套完整的思想体系是开发能力成熟的标志
——《简单之美》(前言)
控制反转(IoC)与依赖注入(DI)
1.控制反转(Inversion of Control)与依赖注入(Dependency Injection)
话说 依赖注入(DI) or 控制反转(IoC)
科普:
首先依赖注入和控制反转说的是同一个东西,是一种设计模式,这种设计模式用来减少程序间的耦合,鄙人学习了一下,看TP官网还没有相关的文章,就写下这篇拙作介绍一下这种设计模式,希望能为TP社区贡献一些力量。
首先先别追究这个设计模式的定义,否则你一定会被说的云里雾里,笔者就是深受其害,百度了N多文章,都是从理论角度来描述,充斥着大量的生涩词汇,要么就是java代码描述的,也生涩。…
近期评论