<?php
* 單例模式
* 工廠模式
* 註冊樹模式
class site{
//屬性
public $sitename;
//本類靜態例項
protected static $instance=null;
//禁用掉構造器
private function __construct($sitename){
$this->sitename=$sitename;
//獲取本類唯一例項
public static function getinstance($sitename='php'){
if(!self::$instance instanceof self){
self::$instance=new self($sitename);
return self::$instance;
//用工廠模式來生成本類單例
class factory{
//建立指定類的例項
public static function create(){
site::getinstance('www.dsfaka.com');
* 物件註冊樹
1.註冊:set(),把物件掛到樹上
2.獲取:get(),把物件取下來用
3.登出:_unset(),把物件吃掉
class register{
//建立物件池,陣列
protected static $objects=;
//生成物件並上樹
public static function set($alias,$objects){
self::$objects[$alias]=$objects;
//從樹上取下物件
public static function get($alias){
return self::$objects[$alias];
//把樹上的物件吃掉
public static function _unset($alias){
unset(self::$objects[$alias]);
//將site類的例項上樹
register::set('site',factory::create());
//從樹上取消乙個物件
$obj=register::get('site');
var_dump($obj);
echo '';
echo $obj->sitename;
資料庫模式中三大正規化
看了很多介紹三大正規化的資料,都很晦澀難懂,下面這個我覺得簡明易懂 1nf 字段不可分 2nf 有主鍵,非主鍵字段依賴主鍵 3nf 非主鍵字段不能相互依賴 解釋 1nf 原子性 字段不可再分,否則就不是關聯式資料庫 2nf 唯一性 乙個表只說明乙個事物 3nf 每列都與主鍵有直接關係,不存在傳遞依賴...
PHP設計模式 三
這種模式比較簡單好理解,在php框架中會經常用到,在某些比較大的php框架中,會在初始化時將一些常用的類例項放在註冊器中,實際是存在註冊器類中的乙個靜態陣列中,以後想去用它的話,直接根據名稱就可以獲取到註冊器中儲存的例項。而不需要再次去new這個類 getinstance或者工廠方法獲得。我感覺這種...
設計模式的三大模式
設計模式可以分為建立型 結構型和行為型模式。建立型模式對類的例項化過程進行了抽象,能夠使軟體做到與物件的建立與組織無關。常見的建立型模式有 工廠方法 抽象工廠 單例 構建 原型模式。結構型模式描述類和物件之間如何進行如何進行有效的組織,以形成良好的軟體體系結構,主要的方法是使用繼承關係來組織各個類。...