婁鵬輝
【摘要】演唱會市場近年來發(fā)展迅猛,演唱會成為人民生活中不可或缺的一個部分。恰逢當前處于移動互聯(lián)網(wǎng)的時代,所以,兩者的結合勢在必行。本文從實際項目出發(fā),對演唱會咨訊及購票平臺客戶端系統(tǒng)設計進行了詳細的論述。
【關鍵詞】iOS技術;演唱會咨訊及購票平臺;系統(tǒng)設計
隨著中國經(jīng)濟的持續(xù)發(fā)展,演唱會消費越來越成為人民文化消費的重要組成部分,演唱會消費市場因此蓬勃發(fā)展。由于智能手機的普及,人民已經(jīng)迎來移動互聯(lián)網(wǎng)的時代。所以,搭建一個基于移動互聯(lián)網(wǎng)的關于演唱會咨詢以及購票的平臺將給人們帶來極大的方便,同時也會大大促進演唱會消費市場的發(fā)展。
1、詳細設計
1.1、推薦頁
(1)推薦頁功能描述
推薦頁內(nèi)容的組成:城市選擇按鈕、分類、UITableView。在XIB上面添加一個320 * 300的UIView視圖作為輪播視圖的背景視圖,在View上面添加上添加一個UIScrollView視圖作為輪播視圖,一個UILabel作為名稱視圖。項目啟動的時候首先會通過地圖定位獲取到當前的坐標經(jīng)緯度,對坐標進行反編碼得到當前所在城市的名字,將城市名字通過block語法傳到首頁,以城市的名字作為字典的key獲取字典的value值也就是城市的id,將id傳入接口獲得首頁所需要的數(shù)據(jù),將數(shù)據(jù)解析添加到視圖上
1.2 演出頁
動態(tài)頁的組成:刷新按鈕、好友動態(tài)列表。在控制器的視圖上面添加一個UITableView列表視圖,自定義封裝列表視圖里面的內(nèi)容,先添加一個UIview作為背景視圖,在view添加一個30 * 30的UIImageView作為頭像視圖,添加五個label按要求布好句作為內(nèi)容和標簽的顯示視圖,通過-(id)initWithStyle?UITableViewCellStyle)style reuseIdentifier?NSString *)reuseIdentifier加載到UITableView上。要進入動態(tài)頁需要先登錄,登錄成功后會獲取一個用戶的私人id通過id請求網(wǎng)絡獲取到數(shù)據(jù)進行展示。當進入動態(tài)詳情頁會將一級頁面的數(shù)據(jù)進行篩選處理然后通過點語法保存?zhèn)鞯蕉夗撁?,在二級頁面進行展示,通過獲取到的經(jīng)緯度,調(diào)用MapView來做地圖定位。
1.3電影頁
電影頁的組成:正在熱映、即將上映、城市選擇。通過調(diào)用系統(tǒng)的方法可以打開系統(tǒng)相冊或相機(需要真機),選擇相片通過代理方法將選中的相片顯示在事先定義好的UIImageView上面。評價通過for語句循環(huán)遍歷五個button當點擊button的時候為button添加一個圖片,通過取反的思想當再次點擊的時候就隱藏圖片。評論是一個UITextField控件,點擊時候會通過代理方法調(diào)用出來鍵盤,同時底部視圖會上移一定距離,上移的過程中對其添加了動畫,再次點擊的時候讓鍵盤對象失去第一響應者隱藏鍵盤,將你輸入內(nèi)容作為參數(shù)通過接口上傳到服務器。
1.4 個人中心頁
個人中心頁的組成:用戶頭像、設置、注冊、登錄、我的訂單、我的收藏、收貨地址、我的優(yōu)惠券。在控制器的視圖上面添加一個UITableView列表視圖,自定義封裝一個視圖,在自定的視圖上添加ImagView、Label、Button按照要求進行布局,將自定義封裝的視圖做一個UitableView的頭部視圖添加到tableview上,可以實現(xiàn)滑動的效果,視圖布局完成后通過用戶的id請求網(wǎng)路獲取json數(shù)據(jù),解析數(shù)據(jù)對數(shù)據(jù)內(nèi)的一維數(shù)組進行二維數(shù)組的轉換,獲取的粉絲數(shù)據(jù)是一個很大的數(shù)通過類型轉換處理后保存數(shù)據(jù)然后進行加載展示。
2登錄的流程設計
自定義的登陸與注冊頁面,在注冊頁面你需要輸入的你的郵箱或者是電話的名稱進行驗證,定義自己的昵稱設置自己的秘密,密碼需要設置兩次,只有兩次的秘密相同了才能通過注冊,注冊成功以后,你就可以到登陸頁面進行登陸。登陸頁面有輸入你注冊所用的用戶郵箱(電話號碼),然后是你的設置的密碼,當你的用戶郵箱(電話號碼)和密碼都匹配的時候你才可以登陸成功,成功后會獲取到你當前用戶的所有信息,以及做一些更深入的操作。
3 設計約束
3. 1 需求約束
(1)軟件運行環(huán)境約束:能保證兼容從iOS4.3一直到iOS6.1.2完美運行;
(2)硬件運行環(huán)境環(huán)境(包括運行環(huán)境和開發(fā)環(huán)境)的約束:本系統(tǒng)必須保證能完美運行在iPhone4、iPhone4S、iPhone5、iPhone5S、iPhone5C、iPhone6、iPhone6Plus上面;必須對iPhone5進行完美適配。
(3)接口/協(xié)議的約束:保證接口的安全性,必須對接口進行加密,加密規(guī)則禁止外泄,統(tǒng)一采用JSON接口格式約束;
(4)用戶界面的約束:用戶界面UI必須和需求保持一致,嚴謹出現(xiàn)拉伸,擠壓的界面;
4. 設計模式
4.1 單例設計模式
單例模式是一種常用的軟件設計模式。在它的核心結構中只包含一個被稱為單例類的特殊類。通過單例模式可以保證系統(tǒng)中一個類只有一個實例而且該實例易于外界訪問,從而方便對實例個數(shù)的控制并節(jié)約系統(tǒng)資源。如果希望在系統(tǒng)中某個類的對象只能存在一個,單例模式是最好的解決方案。
4.2工廠方法設計模式
工廠方法(Factory Method)模式的意義是定義一個創(chuàng)建產(chǎn)品對象的工廠接口,將實際創(chuàng)建工作推遲到子類當中。核心工廠類不再負責產(chǎn)品的創(chuàng)建,這樣核心類成為一個抽象工廠角色,僅負責具體工廠子類必須實現(xiàn)的接口,這樣進一步抽象化的好處是使得工廠方法模式可以使系統(tǒng)在不修改具體工廠角色的情況下引進新的產(chǎn)品。
工廠方法模式的對簡單工廠模式進行了抽象。有一個抽象的Factory類(可以是抽象類和接口),這個類將不再負責具體的產(chǎn)品生產(chǎn),而是只制定一些規(guī)范,具體的生產(chǎn)工作由其子類去完成。在這個模式中,工廠類和產(chǎn)品類往往可以依次對應。即一個抽象工廠對應一個抽象產(chǎn)品,一個具體工廠對應一個具體產(chǎn)品,這個具體的工廠就負責生產(chǎn)對應的產(chǎn)品。
工廠方法模式(Factory Method pattern)是最典型的模板方法模式(Templete Method pattern)應用。
4.3 通知設計模式
Cocoa 的NSNotification類的實例封裝了要廣播的消息,有興趣接收信息的對象將利用Cocoa 的NSNotificationCenter類的實例注冊它們自己。注冊的對象稱為觀察者。
當將一條通知發(fā)送到通知中心時,通知中心會把該通知分發(fā)給合適的觀察者。單個通知可能被廣播給任意數(shù)量的觀察者,把消息發(fā)送到通知中心的對象不需要知道有哪些觀察者存在,或者有多少個觀者者最終會接收到通知。類似的,觀察者不一定需要知道通知來源于何處。
當匿名對象需要被動地觀察和反應重要事件時,可以使用通知模式。通知設計模式設計事例:
-(void)zhengObserver(id)observersa selector?SEL)aSelectora name?Nsstring *)aName object?id)aObject;
4.4 鍵值觀察設計模式
一個目標對象管理所有依賴于它的觀察者對象,并在它自身的狀態(tài)改變時主動通知觀察者對象。這個主動通知通常是通過調(diào)用各觀察者對象所提供的接口方法來實現(xiàn)的。觀察者模式較完美地將目標對象與觀察者對象解耦。
對于年輕一族來說,多少都會有自己喜歡的歌手明星,而如今大眾的消費娛樂方式早已與十幾年前有著巨大改變,演唱會是不少年輕人必不可少的娛樂項目。然而演唱會日益繁多,如何找到自己想要的信息,如何方便及時地買到演唱會門票也成了一大難題。而本設計以解決此類問題為根本,結合強大的移動互聯(lián)網(wǎng),最終得到了一個十分優(yōu)秀的解決方案。