面試記錄第十九節 (MVC)

2021-08-09 07:15:29 字數 3252 閱讀 4711

答:

m:業務邏輯處理

v:處理資料顯示的部分

c:控制器,activity處理使用者互動的問題

答:在android開發過程中,比較流行的開發框架,曾經採用的是mvc模式,好處就是便於ui介面的顯示和業務邏輯的分離。具體來說

model層:用來業務邏輯處理,例如一些資料庫的操作、網路操作或者一些複雜的操作甚至一些耗時的任務都會在model層處理。

view層:主要是處理資料顯示的部分,xml布局就可以看做view層。

controller層:在安卓當中,activity處理互動的問題,因此我們可以把activity看做是controller控制器。activity控制器通過讀取view層的檢視層的資料,然後把資料交給介面來顯示。

答:
1、耦合性底:就是你這個模組**之間的關聯程度不是很高,你可以拆解各種模組,你利用mvc框架可以使view層和modle層很好的分離開來,這樣就達到了解耦的目的。減少模組**之間的相互影響。

2、可擴充套件性好:因為他們耦合度底,所以說當他新增**的時候,例如擴充套件**或者迭代需求就可以不用太多的修改之前的**。

3、模組職責劃分明確:

答:

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="vertical">

id="@+id/et_city_no"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_weight="4"

android:hint="輸入城市代號"

android:text="101010100" />

id="@+id/btn_go"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_weight="1"

android:text="go" />

id="@+id/tv_name"

android:layout_width="match_parent"

android:text="--"

android:layout_height="wrap_content" />

/**

* 封裝資訊

*/public

class

weatherinfo

public

void

setname(string name)

public string getage()

public

void

setage(string age)

}

/**

* created by administrator on 2017/8/14.

*///定義乙個介面

public

inte***ce

datemmodel

/**

* created by administrator on 2017/8/14.

*///實現上面介面,並設定資料

public

class

datemodelimpl

implements

datemmodel

}

/**

* created by administrator on 2017/8/14.

* 定義乙個介面,裡面有兩個方法。

*/public

inte***ce

onmvclistener

package com.mvc_demo;

import android.os.bundle;

import android.util.log;

import android.view.view;

import android.widget.button;

import android.widget.edittext;

import android.widget.textview;

import android.widget.toast;

import com.mvc_demo.entity.weatherinfo;

import com.mvc_demo.modle.datemodelimpl;

import com.mvc_demo.modle.onmvclistener;

public

class

mainactivity

extends

actionbaractivity

implements

onmvclistener

/*** 初始化view

*/private

void

initview()

});}

/*** 顯示結果

**@param weather

*/public

void

displayresult(weatherinfo weather)

public

void

onsuccess(weatherinfo weather)

@override

public

void

onerror()

}

答:
1、利用mvc設計模式,使專案有了更好的可擴充套件和維護性

2、contronler(控制器),是乙個橋梁的作用,通過介面通訊來協同我們的檢視和模型工作,起到了這兩者通訊的作用。

3、什麼時候適合用mvc設計模式,當乙個專案很小,不需要頻繁修改需求的時候,完全不必要用到mvc框架模式,如果小專案用了mvc返回會顯得**設計過於複雜。他一般用在大的專案中,業務比較複雜,迭代需求很頻繁,頁面顯示很多,這個時候我們可以使用mvc來使我們的專案變得更加模組化。

第十九章 19 1 1節練習

練習19.1 使用malloc編寫你自己的operator new size t 函式,使用free編寫operator delete void 函式。解答 這個也就參考書中實現吧。不過這裡我更傾向於使用模板來實現,不把new的引數寫死。練習19.2 預設情況下,allocator類使用operat...

第十九章 19 2 1節練習

練習19.3 已知存在如下的類繼承體系,其中每個類分別定義了乙個公有的預設建構函式和乙個虛析構函式 class a class b public a class c public b class d public b,public a 下面的哪個dynamic cast將失敗?a a pa new ...

RH134 第十九節 系統恢復

比如 dd if dev zero of dev vda bs 446 count 1 進入挽救模式後,執行 grub2 install dev vda 真實環境中我們可以用一條命令生成grub2 mkconfig生成這個檔案並且重定向到丟失的檔案中 grub2 mkconfig boot grub...