PHP中三大設計模式

2021-10-07 02:12:49 字數 1278 閱讀 3739

<?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或者工廠方法獲得。我感覺這種...

設計模式的三大模式

設計模式可以分為建立型 結構型和行為型模式。建立型模式對類的例項化過程進行了抽象,能夠使軟體做到與物件的建立與組織無關。常見的建立型模式有 工廠方法 抽象工廠 單例 構建 原型模式。結構型模式描述類和物件之間如何進行如何進行有效的組織,以形成良好的軟體體系結構,主要的方法是使用繼承關係來組織各個類。...