日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

架构(三层架构)、框架(MVC)、设计模式三者异同点

發(fā)布時間:2023/12/2 c/c++ 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 架构(三层架构)、框架(MVC)、设计模式三者异同点 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言:

? ? ? ? ??本博客主要針對架構(gòu)、框架和設(shè)計模式三者的差別、還有三層和MVC的差別進行討論、對于這三者一點都不了解的、請點在維基和百度百科上補補課、這里就不發(fā)鏈接了


軟件架構(gòu)(software architecture)


? ? ? ? ??軟件的架構(gòu)是系統(tǒng)的一個草圖、闡述了各個組件之間的通訊、劃分層次、一旦系統(tǒng)開始具體設(shè)計、架構(gòu)藍圖就非常難甚至無法更改、是由軟件架構(gòu)師從無到有設(shè)計出來的。


? ? ? ?? 例: 三層架構(gòu):一種設(shè)計軟件架構(gòu)的思想

? ? ? ? ? ? ? ? ? ? ? ???把軟件上從邏輯上分為、表示層(UI)業(yè)務(wù)邏輯層(BLL)數(shù)據(jù)訪問層(DAL)

? ? ? ? ? ? ? ? ? ? ? ??目的:低耦合、高內(nèi)聚、各司其職、達到易更換、改動、能夠分散部署、編碼。


三層架構(gòu)具體解釋:http://blog.csdn.net/u010191034/article/details/24588675


軟件框架(Softwareframework)


? ? ? ? ??軟件框架是在一定領(lǐng)域內(nèi)、別人已經(jīng)對這個領(lǐng)域制作軟件所需的基礎(chǔ)架構(gòu)功能、進行了總結(jié)、做出了有代碼實體的軟件框架結(jié)構(gòu)、假設(shè)要制作這一領(lǐng)域的軟件、能夠在別人寫好的框架上、繼續(xù)設(shè)計、編寫自己的軟件、骨頭架上填肉、框架有一定的局限性。


例:MVC(框架)


? ? ? ???英文Model View Controller、是針對Web開發(fā)、已經(jīng)寫好有代碼的框架、分別為M模型(model)-V視圖(view)-C控制器(controller)三部分


? ? ? ? ??目的:模型和視圖分離開、使得一個模型可被多個視圖使用、簡單說就是相同的一個站點、用手機的視圖(界面)和電腦的視圖、能夠共用一個模型。


設(shè)計模式(Design pattern)

? ? ? ? ??對軟件設(shè)計中普遍存在(重復(fù)出現(xiàn))的各種問題,所提出的解決方式、是一種解決方式的思想、不拘泥于代碼、通常以類型或?qū)ο髞砻鑼憯⑹霎?dāng)中的關(guān)系和相互作用、依賴與抽象、來達到解耦和、可寬展、易維護等、設(shè)計模式是用來解決這個問題的。


三者差別

? ? ? ? ??軟件架構(gòu)是指軟件架構(gòu)師在制作軟件的時候、對軟件規(guī)劃的一種藍圖、通常是分層、畫出各個組件的關(guān)系。

? ? ? ? ??軟件框架是指在特定的領(lǐng)域內(nèi)、已經(jīng)有人寫好的框架(有代碼)、框架有局限性、僅僅限特定領(lǐng)域。

? ? ? ? ??設(shè)計模式是指針對一些編程實際的問題所提出的抽象解決方式、用類與類之間的關(guān)系相互作用、達到目的。

三層架構(gòu)與MVC的差別

? ? ? ? ??根本差別是三成是機構(gòu)而MVC是框架、MVC是應(yīng)用與Web別人已經(jīng)寫好的代碼、如ASP.NET就能夠直接點擊MVC、會自己主動生成框架代碼、而三層是做軟件自己劃分的、是一種制作軟件的思想。


有圖有真相、以下是ASP.NET的建項目

? ? ? ? ? ? ?

? ? ? ? ? ? ?

他倆的共同點就是都分成了三個、折讓人們非常easy誤解

? ? ? ? ??并且三層的UI層與MVC的M和C、功能非常像

? ? ? ? ??而MVC的V和BLL和DLL、功能非常像

? ? ? ? ??如圖


? ? ? ? ??盡管相似、可是從根本上就不是一個東西呦!由于架構(gòu)是一種做軟件的思想、而框架是人們已經(jīng)對特定領(lǐng)域軟件的共同特性、所編寫好的代碼成品。


所以

? ? ? ? ??軟件架構(gòu)>軟件框架>設(shè)計模式

? ? ? ? ??當(dāng)然從解耦和的觀點來看、這三個都是以解耦為目的、也是面向?qū)ο蟆⒆龀龈玫某绦颉⑺允裁匆粯硬灰粯拥摹⑹强丛谀膫€層面看


如:

你買了兩個iPhone6手機是一樣嗎?

? ? ? ? ? 從型號來看、都是蘋果6手機、是一樣的

? ? ? ? ? 從安裝軟件上比可能就不一樣了


? ? ? ? ? ?所以、有人說MVC和三成架構(gòu)是一個東西、沒錯、都是為了解耦和、有人說MVC和三層架構(gòu)不是一個東西、也對、MVC有實際的框架代碼、三層架構(gòu)是做軟件的一種思想、就好像設(shè)計模式一樣、三層是做軟件的思想、設(shè)計模式是解決這個問題的思想。


? ? ? ? ? ?正所謂:橫看成嶺側(cè)成峰、遠(yuǎn)近高低各不同、事事無絕對、多學(xué)多理解、今天寫的挺濃縮的、希望能幫到大家、也希望大家看到也能多給我提提建議、謝謝!



———————————————想跟503說再見……———————————————

——————————————chenchen———————————————






轉(zhuǎn)載于:https://www.cnblogs.com/gcczhongduan/p/4362105.html

總結(jié)

以上是生活随笔為你收集整理的架构(三层架构)、框架(MVC)、设计模式三者异同点的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。