1. 程式人生 > >三個基本的設計模式

三個基本的設計模式

  1. 工廠模式:該模式是將類的例項化進行封裝,而不是直接例項化,例如 <?phpclassFactory{staticfunction create(){ $c =newClassTest();//已知類ClassTestreturn $c;}}?><?php$test =Factory::create();?> 在本例中,我們沒有直接使用$test = new ClassTest();來例項化類ClassTest,而是將例項化封裝在Factory類中,這樣做的好處就是,如果我們例項化了很多classtest類物件,當我們對CLassTest類名進行修改時,只需在Factory::create()中進行修改。
  2. 單例模式:該模式使得某些只需例項化一次而在多處使用,比如:只進行一次資料庫連線,而可以使得多個地方使用,每次使用資料庫時都連線資料庫了。 <?phpclassConnect{privatestatic $db;privatefunction __construct(){/*將建構函式定義為私有的,這樣類connect將不能夠在類外例項化*/}staticfunction get_instance($host, $database, $user, $pwd){if(!self::$db)//如果$db已經存在{ $db =newself();}return $db;}}$database =
    Connect::get_instance($host, $database, $user, $pwd);
    ?>
  3. 註冊樹模式:將已經例項化的物件註冊到註冊樹(陣列)中,下次使用直接從中提取就是,而不必在此例項化一個物件,一個被註冊的物件將是一個全域性的物件了。 <?phpclassFactory{staticfunction create(){ $c =new classtest();/*將物件註冊到註冊陣列中,一旦呼叫Factory::create()之後,便無需再次例項化了,直接打註冊陣列中取出就是*/Register::set($db, $c);return $c;}}?>
    <?php$test =Factory::create();?><?phpclassRegister{/*註冊陣列*/privatestatic $reg_arr;/*獲取註冊物件*/publicstaticfunctionget($key){returnself::$re_arr[$key];}/*設定註冊物件*/publicstaticfunctionset($key, $value){self::$reg_arr[$key]= $value;}/*消除註冊物件*/publicstaticfunction _unset($key){ unset($reg_arr[$key]);}}$db2 =Register::get($db);?>

相關推薦

基本設計模式

工廠模式:該模式是將類的例項化進行封裝,而不是直接例項化,例如 <?phpclassFactory{staticfunction create(){ $c =newClassTest();

面向對象的基本特征 和 五種設計原則

對象相等 存在 正是 提高 都是 並不是 ram 無法 pro 面向對象的三個基本特征 和 五種設計原則 來源: http://blog.csdn.net/cancan8538/article/details/8057095 一、三個基本特征 面向對象的三個基本

流程設計基本假設與創新流程設計原則

流程設計 假設 原則 創新流程 流程設計需要三個基本假設:●企業制度、規範是健全的;●每一個崗位都是稱職的;●流程設計審批後就要執行的。為什麽提出這三個基本假設?實在是遇到了太多的質問:這個流程能行嗎?這個人行嗎?這個標準有嗎?或者是他能做到嗎?他會批準嗎?她能配合嗎?……諸如此類的問題不一而

網站建設設計|這基本要求你需要重點掌握!

做什麼事情都要有一定的基本尺度來衡量自己,當然,在網站建設設計過程中,我們應該需要衡量網站製作基本標準,那網站建設到底應該符合什麼樣的標準呢?又有哪些標準可以使網站建設得更為完善呢?下面,一起來了解網站建設的三個基本要求!   一、要求網站開啟的速度要快   在當今社會人們生活的節奏不斷加快,,畢竟這

【網站製作設計】建議這基本要求你一定要掌握!

做什麼事情都要有一定的基本尺度來衡量自己,當然,在網站製作設計過程中,我們應該需要衡量網站製作基本標準,那網站建設到底應該符合什麼樣的標準呢?又有哪些掌握哪些可以使網站製作得更為完善呢?下面,我們重點一起來了解網站建設的三個基本要求!  一、要求網站開啟的速度要快   在當今社會人們生活的節奏不斷加快,,畢

【網站制作設計】建議這基本要求你一定要掌握!

ews 網絡 ext 哪些 註意 重點 競爭力 競爭 適合 做什麽事情都要有一定的基本尺度來衡量自己,當然,在網站制作設計過程中,我們應該需要衡量網站制作基本標準,那網站建設到底應該符合什麽樣的標準呢?又有哪些掌握哪些可以使網站制作得更為完善呢?下面,我們重點一起來了解網站

面向物件的基本特徵和五種設計原則

面向物件的三個基本特徵 抽象與封裝: 抽象是把系統中需要處理的資料和在這些資料上的操作結合在一起,根據功能、性質和用途等因素抽象成不同的抽象資料型別。每個抽象資料型別既包含了資料,又包含了針對這些資料的授權操作。在面向物件的程式設計中,抽象資料型別是用“類”

面向物件的基本特徵和五設計原則

面向物件的精神:可維護、可擴充套件、可複用、靈活性好。 三個基本特徵【封裝、繼承、多型】 封裝:每個物件都包含它能進行操作所需要的所有資訊,這個特性稱為封裝。 因為物件不必依賴其他物件來完成自己的操作,這樣方法和屬性包裝在類中,通過類的例項來實現。 封裝的好處:1、良好

面向物件的基本特徵 和 五種設計原則

一、三個基本特徵 面向物件的三個基本特徵是:封裝、繼承、多型。 封裝 封裝最好理解了。封裝是面向物件的特徵之一,是物件和類概念的主要特性。 封裝,也就是把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法只讓可信的類或者物件操作,對不可信的進行資訊隱藏。 繼承 面向物件程式設計 (OOP) 語言的一個

面向對象的基本特征

不同的 繼承和派生 編程 是什麽 隨著 部分 student has-a 多重 最近找了一篇面向對象的介紹,看過後,感覺不錯,淺顯易懂,所以轉載給大家看看!!! 面向對象的三個基本特征(講解)面向對象的三個基本特征是:封裝、繼承、多態。 封裝封裝最好理解了。封裝是

hive的mr和map-reduce基本設計模式

key format values 模式 none columns lan pac ... (原創文章,謝絕轉載~) hive可以使用 explain 或 explain extended (select query) 來看mapreduce執行的簡要過程描述。expla

23種基本設計模式-概述

簡潔 內部類 用戶 沖突 交互 ola 建造者模式 概念 復雜 1、為什麽使用?設計模式,能夠使代碼更簡潔、更優美、更效率、擴展性型更強。 2、設計模式的原則:開閉原則(對拓展開放,對改動關閉)(抽象化是關鍵) --單一職

Pandas的基本數據結構Series,DataFrame,Index

通過 括號 填充 有序集合 列名 基本數據結構 import 並集 and 1.Series   Pandas的Series對象是一個帶索引數據構成的一維數組   1)用一個數組創建Series對象 In [1]: import numpy as np In [2]:

類有哪基本特性?各特性的優點?

封裝 創建 隱藏 目的 多級 變量 成員 表現 解答 類有哪三個基本特性?各特性的優點? 解答:類具有封裝性、繼承性和多態性。 封裝性:類的封裝性為類的成員提供公有、缺省、保護和私有等多級訪問權限,目的是隱藏類中的私有變量和類中方法的實現細節。 繼承性:類的繼

Spring AOP的實現:基本屬性類的實現和解析

在深入瞭解AOP的實現原理之前,我們需要先了解一下關於AOP的三個基本的屬性類。PointCut切點,  Advice通知,  Advistor通知器。   Advice通知 首先來看一下Advice通知以及它的作用 Advice,定義了在連線點對連

Docker 基本概念——映象、容器、倉庫

文章目錄 1、映象 (Image) 2、容器 (Container) 3、倉庫 (Repository) 3.1、倉庫註冊伺服器 4、映象與容器的關係 5、映象、容器、倉庫 執行關係圖:

log4j2筆記 #04# Appender的基本款以及RollingFile的各種示例配置

粗糙筆記,留著備用。 三個基本款分別是ConsoleAppender、FileAppender(以及他的堂哥RandomAccessFileAppender)、RollingFileAppender(以及他的堂哥llingRandomAccessFileAppender),其中RollingFileAppe

面向對象的基本元素,五基本原則

pro mark 基本 ocs color 技術分享 b- ima docs 由於作者不習慣該編輯器,只是貼出上本文的截圖,詳見: https://www.yuque.com/docs/share/3e942cb0-f659-435b-ad0e-5fbd2d4a89e7面

、Python 設計模式之建造者

原教程 https://www.cnblogs.com/onepiece-andy/p/python-builder-pattern.html 大話設計模式 設計模式——建造者模式 建造者模式(Builder):將一個複雜物件的構建與它的表示分離,使得同樣的構建過程可以常見不同的表示

計算機網路(3)——資料鏈路層之“基本概念+基本問題+ppp協議”

資料鏈路層的通道型別: 點對點通道——這種通道使用一對一的點對點通訊方式。 廣播通道——這種通道使用一對多的廣播通道方式,因此過程比較複雜。廣播通道上連線的主機很多,因此必須使用專用的共享通道協議來協調這些主機的資料傳送。 鏈路與資料鏈路: 鏈路——是一條