国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

MVC設計模式

2019-11-09 18:55:42
字體:
來源:轉載
供稿:網友

概述

MVC全名是Model View Controller,是模型-視圖-控制器的縮寫。一種軟件設計典范,用一種業務邏輯、數據、界面分離的方法組織代碼,將業務邏輯聚集到一個部件里面,在改進和個性化定制界面及用戶交互的同時,不需要重新編寫業務邏輯。

特點

一、 優點: 1、 耦合性低:視圖層和業務層分離,所以在更改視圖層代碼時而不用重新編譯模型和控制器代碼。同樣,更改業務流程或者業務規則改變時只需改動模型層即可。由于三個部件是相互獨立,改變其中一個不會影響其他兩個。 2、 重用性高 :比如很多界面可以重用一個模型。 3、 生命周期成本低。 4、 部署快。 5、 可維護性高。 6、 有利軟件工程化管理。 二、 缺點: 1、 沒有明確的定義: 2、 不適合小型、中等規模的應用程序。 3、 增加系統結構和實現的復雜性。 4、 視圖與控制器間的過于緊密的鏈接。 5、 視圖對模型數據的低效率訪問。 6、 一般高級的界面工具或構造器不支持模式。

使用

在使用MVC設計模式時,我們得先理解和體會MVC的理念和規則:

1、 Model和View永遠不能互相通信,只能通過Controller傳遞。 2、 Controller可以直接與Model對話(讀寫調用Model),Model通過Notification和KVO機制與Controller間接通信。 3、 Controller可以直接與View對話。通過Outlet,直接操作View,Outlet直接對應到View中的控件,View通過action向Controller報告事件的發生(如用戶Touch我了)。Controller是View的直接數據源(數據很可能是Controller從Model中取得并經過加工了)。Controller是View的代理(delegate),以同步View與Controller。 這里寫圖片描述

代理的擴展:

在使用MVC設計模式時,有時候我們的View類型和一些基本的方法都一致,我們會采用集成的方法將一些共同的特性抽取出來,作為基類,其他的View只需集成即可。而很多時候,我們的代理也有許多同樣的方法,這時候,我們同樣使用繼承的方式來實現,代理的繼承和擴展和原始的代理區別如下:

1、 在定義代理時,繼承基類的代理。如下圖 代理SPCTableViewDataSource繼承基類ZDBSimulateTableViewDatasource。 這里寫圖片描述

2、 定義代理實現對象。如idspcDataSoruce;

這里寫圖片描述 3、 在.m文件中重寫set方法,給對象賦值并傳值。_spcDataSoruce為當前代理的對象。而self.dataSource為父類的對象。

這里寫圖片描述


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 铜鼓县| 博湖县| 海宁市| 冀州市| 西昌市| 祥云县| 岳西县| 蓬安县| 扎赉特旗| 鹿泉市| 通山县| 邛崃市| 平塘县| 静宁县| 长阳| 红原县| 高邮市| 崇文区| 凤翔县| 确山县| 尚志市| 雅江县| 武清区| 胶州市| 赫章县| 晋中市| 新丰县| 拜城县| 波密县| 贞丰县| 金沙县| 江山市| 泸州市| 石台县| 福清市| 辉南县| 保靖县| 高阳县| 忻城县| 郎溪县| 原阳县|