欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
經(jīng)驗交流:關(guān)于軟件設計的一點(diǎn)心得體會(huì )_軟件工程_軟件工程_軟件開(kāi)發(fā)_天新網(wǎng)
經(jīng)驗交流:關(guān)于軟件設計的一點(diǎn)心得體會(huì )
http://dev.21tx.com 2007年06月28日 論壇整理 博客園
-

  曾經(jīng)看過(guò)一本書(shū)叫《道法自然》,內容略記得一二,但我最欣賞的是它的書(shū)名。軟件設計沒(méi)什么太神秘有東西,只要用心體會(huì ),其實(shí)一切都很自然。軟件的設計之“道”,也不在于設計有多么的華麗、精巧,而在于其樸實(shí)、自然,最終達到“以無(wú)招勝有招”,進(jìn)入一個(gè)全新的境界。

  一、軟件設計理論的層次

  以我的拙見(jiàn),軟件設計領(lǐng)域中的各種概念,可以分為以下幾個(gè)層次來(lái)進(jìn)行理解:

  1、軟件設計的目的:重用性、擴展性。

  這是最高的層次,是應對軟件危機的需要。

  2、設計原則:低耦合、高聚合。

  各種軟件設計的原則,如依賴(lài)倒置原則、單一職則原則、面向接口等,以及各種設計模式,其根本的目的其實(shí)只是為了降低耦合這么簡(jiǎn)單。因為只有低耦合才能更好的適應變化,更好的重用和擴展。

  3、實(shí)現方法:運用設計模式封裝變化、降低耦合。

  設計模式只是用來(lái)“封裝變化、降低耦合”的工具而已。它是面向對象設計時(shí)代的產(chǎn)物,其本質(zhì)就是充分運用面向對象的三個(gè)特性,即:封裝、繼承和多態(tài),進(jìn)行靈活的組合運用。

  二、關(guān)于耦合

  1、耦合的粒度

  耦合無(wú)論如何也是不可避免的。當我們實(shí)現接口、繼承父類(lèi)的時(shí)候,就會(huì )不可避免的產(chǎn)生耦合。耦合是有不同粒度的,我們解耦到什么粒度為止,我認為應以模塊的重用粒度為準。盡量解除重用模塊或對象之間的耦合。而重用模塊之內的耦合,應屬于聚合的范疇,所以不要盲目的去解耦,否則就陷入了誤區。

  2、解耦的原理

  怎樣才能解耦呢,或者說(shuō)為什么各種設計模式能達到解耦的目的呢?我覺(jué)得有以下幾個(gè)思路:

  (1)將具體的東西抽象處理

  (2)將分散的東西集中處理

  而面向對象中的接口、繼承正為我們提供了這樣的一種機制。通過(guò)訪(fǎng)問(wèn)接口或基類(lèi)或抽象類(lèi),而不是具體的實(shí)現類(lèi),從而與具體的實(shí)現類(lèi)達到了解耦的目的。我們還可以設計一些控制類(lèi),像潤滑劑一樣,協(xié)調各實(shí)現類(lèi)之間的訪(fǎng)問(wèn),也可以達到耦的目的。

  事實(shí)上,各種設計模式的基本思想也就是這樣。創(chuàng )建型模式是為了解除創(chuàng )建對象時(shí)產(chǎn)生的耦合,實(shí)際上是解除對類(lèi)稱(chēng)名的依賴(lài),而結構型和行為型是為了解除對象屬性或方法的直接調用。不管什么設計模式,都是將對具體實(shí)現類(lèi)的訪(fǎng)問(wèn)提升為對接口、基類(lèi)或用于協(xié)調的控制類(lèi)的訪(fǎng)問(wèn)。

  三、關(guān)于接口

  這一節更具體,談一談接口,因為使用接口是軟件設計的重要手段,但已經(jīng)不屬于“道”了~

  1、接口與繼承

  接口描述的是對象某一個(gè)方面行為特征。使用接口與使用繼承關(guān)系各有優(yōu)缺點(diǎn),使用子類(lèi)繼承可以繼承父類(lèi)的功能,體現了重用的精神。而接品更加靈活,因為它解除了子類(lèi)與父類(lèi)之間的高度耦合,它體現在靈活擴展的精神。

  2、接口與純虛類(lèi)

  理論上接口可以由純虛基類(lèi)實(shí)現類(lèi)似的功能,那為什么還我們不去掉接口的概念,而直接使用虛類(lèi)呢?

  接口存在的理由就是它更加靈活,關(guān)系簡(jiǎn)單,易于理解。比如一個(gè)類(lèi)可以實(shí)現十幾個(gè)甚至幾十個(gè)接口,但一般開(kāi)發(fā)工具只支持單繼承(由于多繼承太容易導致混亂和沖突),如果要繼承十幾層,系統結構想必會(huì )無(wú)法理解了,我以為這是接口存在的最重要的原因。

  如果接口和虛類(lèi)繼承結合使用,可以產(chǎn)生強大的威力,這也是許多設計模式的“殺手锏”。

  以上算是總結一下自己的心得??隙ㄓ胁簧倨嬷?,請各位指教。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
【信管1.9】軟件工程(三)軟件設計與過(guò)程管理
解惑 » 日志 » OO設計模式和設計原則(轉帖)
從架構到設計
《代碼大全2》讀書(shū)筆記(二)
軟件工程
敏捷思維: 架構設計中的方法學(xué)(11)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久