視圖 :視圖是用戶看到并與之交互的界面。對老式的Web應用程 " /> 2021乱码精品公司,国产亚洲精品久久久久久线投注,538prom国产在线视频一区

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

深入理解:單一入口、MVC、ORM、CURD、ActiveRecord概念

MVC

MVC是一個設計模式,它強制性的使應用程序的輸入、處理和輸出分開。使用MVC應用程序被分成三個核心部件:模型(M)、視圖(V)、控制器(C),它們各自處理自己的任務。

視圖 :視圖是用戶看到并與之交互的界面。對老式的Web應用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術已層出不窮,它們包括Adobe Flash和象XHTML,XML/XSL,WML等一些標識語言和Web services。如何處理應用程序的界面變得越來越有挑戰(zhàn)性。MVC一個大的好處是它能為你的應用程序處理很多不同的視圖。在視圖中其實沒有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機存儲的還是一個雇員列表,作為視圖來講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。

模型 :模型表示企業(yè)數(shù)據(jù)和業(yè)務規(guī)則。在MVC的三個部件中,模型擁有最多的處理任務。例如它可能用象EJBs和ColdFusion Components這樣的構件對象來處理數(shù)據(jù)庫。被模型返回的數(shù)據(jù)是中立的,就是說模型與數(shù)據(jù)格式無關,這樣一個模型能為多個視圖提供數(shù)據(jù)。由于應用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復性。

控制器 :控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。所以當單擊Web頁面中的超鏈接和發(fā)送HTML表單時,控制器本身不輸出任何東西和做任何處理。它只是接收請求并決定調(diào)用哪個模型構件去處理請求,然后確定用哪個視圖來顯示模型處理返回的數(shù)據(jù)。

現(xiàn)在我們總結MVC的處理過程,首先控制器接收用戶的請求,并決定應該調(diào)用哪個模型來進行處理,然后模型用業(yè)務邏輯來處理用戶的請求并返回數(shù)據(jù),最后控制器用相應的視圖格式化模型返回的數(shù)據(jù),并通過表示層呈現(xiàn)給用戶。

OOP

面向對象編程(Object Oriented Programming,OOP,面向對象程序設計)是一種計算機編程架構。OOP 的一條基本原則是計算機程序是由單個能夠起到子程序作用的單元或對象組合而成。OOP 達到了軟件工程的三個主要目標:重用性、靈活性和擴展性。為了實現(xiàn)整體運算,每個對象都能夠接收信息、處理數(shù)據(jù)和向其它對象發(fā)送信息。OOP 主要有以下的概念和組件:

組件 - 數(shù)據(jù)和功能一起在運行著的計算機程序中形成的單元,組件在 OOP 計算機程序中是模塊和結構化的基礎。

抽象性 - 程序有能力忽略正在處理中信息的某些方面,即對信息主要方面關注的能力。

封裝 - 也叫做信息封裝:確保組件不會以不可預期的方式改變其它組件的內(nèi)部狀態(tài);只有在那些提供了內(nèi)部狀態(tài)改變方法的組件中,才可以訪問其內(nèi)部狀態(tài)。每類組件都提供了一個與其它組件聯(lián)系的接口,并規(guī)定了其它組件進行調(diào)用的方法。

多態(tài)性 - 組件的引用和類集會涉及到其它許多不同類型的組件,而且引用組件所產(chǎn)生的結果得依據(jù)實際調(diào)用的類型。

繼承性 - 允許在現(xiàn)存的組件基礎上創(chuàng)建子類組件,這統(tǒng)一并增強了多態(tài)性和封裝性。典型地來說就是用類來對組件進行分組,而且還可以定義新類為現(xiàn)存的類的擴展,這樣就可以將類組織成樹形或網(wǎng)狀結構,這體現(xiàn)了動作的通用性。

由于抽象性、封裝性、重用性以及便于使用等方面的原因,以組件為基礎的編程在腳本語言中已經(jīng)變得特別流行。

ORM

對象-關系映射(Object/Relation Mapping,簡稱ORM),是隨著面向對象的軟件開發(fā)方法發(fā)展而產(chǎn)生的。面向對象的開發(fā)方法是當今企業(yè)級應用開發(fā)環(huán)境中的主流開發(fā)方法,關系數(shù)據(jù)庫是企業(yè)級應用環(huán)境中永久存放數(shù)據(jù)的主流數(shù)據(jù)存儲系統(tǒng)。對象和關系數(shù)據(jù)是業(yè)務實體的兩種表現(xiàn)形式,業(yè)務實體在內(nèi)存中表現(xiàn)為對象,在數(shù)據(jù)庫中表現(xiàn)為關系數(shù)據(jù)。內(nèi)存中的對象之間存在關聯(lián)和繼承關系,而在數(shù)據(jù)庫中,關系數(shù)據(jù)無法直接表達多對多關聯(lián)和繼承關系。因此,對象-關系映射(ORM)系統(tǒng)一般以中間件的形式存在,主要實現(xiàn)程序對象到關系數(shù)據(jù)庫數(shù)據(jù)的映射。

面向對象是從軟件工程基本原則(如耦合、聚合、封裝)的基礎上發(fā)展起來的,而關系數(shù)據(jù)庫則是從數(shù)學理論發(fā)展而來的,兩套理論存在顯著的區(qū)別。為了解決這個不匹配的現(xiàn)象,對象關系映射技術應運而生。

CURD

CURD是一個數(shù)據(jù)庫技術中的縮寫詞,一般的項目開發(fā)的各種參數(shù)的基本功能都是CURD。它代表創(chuàng)建(Create)、更新(Update)、讀?。?STRONG>Read)和刪除(Delete)操作。CURD 定義了用于處理數(shù)據(jù)的基本原子操作。之所以將CURD 提升到一個技術難題的高度是因為完成一個涉及在多個數(shù)據(jù)庫系統(tǒng)中進行CURD操作的匯總相關的活動,其性能可能會隨數(shù)據(jù)關系的變化而有非常大的差異。

CURD在具體的應用中并非一定使用create、update 、read和delete字樣的方法,但是他們完成的功能是一致的。例如,Thinkphp就是使用add、save、select和delete方法表示模型的CURD操作。

ActiveRecord

ActiveRecord也屬于ORM層,由Rails最早提出,遵循標準的ORM模型:表映射到記錄,記錄映射到對象,字段映射到對象屬性。配合遵循的命名和配置慣例,能夠很大程度的快速實現(xiàn)模型的操作,而且簡潔易懂。

ActiveRecord的主要思想是:

1. 每一個數(shù)據(jù)庫表對應創(chuàng)建一個類,類的每一個對象實例對應于數(shù)據(jù)庫中表的一行記錄;通常表的每個字段在類中都有相應的Field;

2. ActiveRecord同時負責把自己持久化,在ActiveRecord中封裝了對數(shù)據(jù)庫的訪問,即CURD;;

3. ActiveRecord是一種領域模型(Domain Model),封裝了部分業(yè)務邏輯;

ActiveRecord比較適用于:

1. 業(yè)務邏輯比較簡單,當你的類基本上和數(shù)據(jù)庫中的表一一對應時, ActiveRecord是非常方便的,即你的業(yè)務邏輯大多數(shù)是對單表操作;

2. 當發(fā)生跨表的操作時, 往往會配合使用事務腳本(Transaction Script),把跨表事務提升到事務腳本中;

3. ActiveRecord最大優(yōu)點是簡單, 直觀。 一個類就包括了數(shù)據(jù)訪問和業(yè)務邏輯. 如果配合代碼生成器使用就更方便了;

這些優(yōu)點使ActiveRecord特別適合WEB快速開發(fā)。

單一入口

單一入口通常是指一個項目或者應用具有一個統(tǒng)一(但并不一定是唯一)的入口文件,也就是說項目的所有功能操作都是通過這個入口文件進行的,并且往往入口文件是第一步被執(zhí)行的。

單一入口的好處是項目整體比較規(guī)范,因為同一個入口,往往其不同操作之間具有相同的規(guī)則。另外一個方面就是單一入口帶來的好處是控制較為靈活,因為攔截方便了,類似如一些權限控制、用戶登錄方面的判斷和操作可以統(tǒng)一處理了。

或者有些人會擔心所有網(wǎng)站都通過一個入口文件進行訪問,是否會造成太大的壓力,其實這是杞人憂天的想法。

php技術深入理解:單一入口、MVC、ORM、CURD、ActiveRecord概念,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲国产中文在线视频 | 日本久久中文字幕 | 四虎视频最新视频在线观看 | 黄色免费网址在线观看 | 亚洲国产在线视频精品 | 99精品国产高清自在线看超 | 国产午夜人成在线视频麻豆 | 精品国产乱码久久久久久乱码 | 久久精品国产在热亚洲 | 美女穿丝袜被狂躁动态图 | 亚洲精品tv久久久久久久久久 | 中文字幕久久熟女人妻AV免费 | 色综合久久88色综合天天提莫 | 999人在线精品播放视频 | 91se在线看片国产免费观看 | 美女视频黄a视频全免费网站色窝 | 老师的快感电影完整版 | 中文字幕欧美日韩VA免费视频 | 好男人免费观看在线高清WWW | 小草视频免费观看在线 | X8X8拨牐拨牐X8免费视频8午夜 | 校园女教师之禁区 | 十分钟免费视频大全在线 | 国产精品久久久久久免费字体 | 各种肉黄浪荡故事集 | 国产欧美第一页 | 两个吃奶一个添下面视频 | 日日日操操操 | 人人超碰97caoporen国产 | 免费精品一区二区三区在线观看 | 日本久久中文字幕精品 | 果冻传媒mv国产陈若瑶主演 | 3d在线看小舞被躁视频 | 99re5.久久热在线视频 | 国产精品内射久久久久欢欢 | 少妇内射视频播放舔大片 | 亚洲AV无码乱码在线观看浪潮 | 国产免费久久精品国产传媒 | 在教室伦流澡到高潮H女攻视频 | 久久99亚洲热最新地址获取 | 国产av久久免费观看 |