亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

軟件開發中的思維僵化

2019-11-15 00:43:27
字體:
來源:轉載
供稿:網友
軟件開發中的思維僵化

在J2EE領域來說,SSH/SSI是好東西,是大師們嘔心瀝血的結晶。但,他也是壞東西。

好的一面,相信不用多說,大量的設計模式運用,極大的降低程序員入門門檻,規范企業應用開發,提高生產效率等等。無論從企業成本抑或個人技術發展方面,都堪稱精華之作。

What: SSH/SSI的壞處是什么

現在,我們討論它壞的一面:

1.降低程序員入門門檻

  你只需要一本《xx天學會xx》,就可以參加工作,贏取其他行業羨慕的薪水。但,這真的好嗎?!我們不講程序是算法和數據結構的結合,不講高大上的理論和技術,我們都是平凡人。從急需就業的角度講,能讓你快速學會一門技術,這是很好的。但是,當很多平凡人嘗到了這個急功近利的甜頭后,就覺得技術就是這樣,我什么時候用到了再臨時抱下佛腳,于是不思進取,混吃等死。越來越多的企業應用開發人員進入了這種狀態中。有的人知道這是不對的,可是看到別人是這樣,自己隨大流,也不去改變。

2.規范企業應用開發

  從企業生產角度看,能夠把本來無法規范的事情,形成規范化的流程化的生產過程,這是非常好的事情,可以大大降低生產成本,提高產品質量。但是,流程的副產物就是僵化!

  前面說到,由于入門門檻降低,魚龍混雜,人員水平參差不齊。對于這種規范,有的人理解他是規范,是參照物,有的人理解他是規定,是必須遵守的準則,再加上不思進取,知其然而不知其所以然,導致這種僵化現象更加嚴重。

3.大量的設計模式運用

  部分開發人員看到框架這么用設計模式,于是看見什么都像釘子,這個與本篇主題關聯不大,這里不多討論。

Why: 為什么這是他的壞處

道理講完,我們來看具體的例子。

相信很多人在開發SSH/SSI應用時,都要寫jsp,action,service,dao這幾個典型模塊。那么,我為什么開發一個功能需要寫這些模塊,我為什么不可以用其他的方式來實現?

有人說,因為這是遵循MVC模式,是針對業務的分層模型,更便于開發維護,及與其他開發人員交流。

那么,我們就從MVC入手,看看為什么要這么做開發。

V:View視圖層,也就是直接和用戶交互的那一層,是數據展示層

C: Controller調度層,指將view層的請求轉發給服務層,組合調度服務層實現view層的請求,并將服務層的數據返回view層

M: Model數據模型,指服務層+數據層,也就是常說的Service+Dao,主要用來實現業務邏輯,并返回業務數據

上面的理論相信每一個J2EE的開發人員都有看過相關介紹。對于View層,我們不多討論,無論使用哪種View技術,它的目的比較單一,相對比較容易理解。

這里主要說C和M。

常規的做法是,新建Action,新建Service接口,新建Dao接口,新建ServiceImpl實現Service接口,新建DaoImpl實現Dao接口。

這里就回到主題了,為什么一定要這樣建這么多類和接口?

很多初級開發人員不管三七二十一,上級這么要求,就這么寫,不懂變通,久而久之,就認為web就應該是這樣的.....

或者,混淆C和M的職責,造成業務邏輯混亂,代碼大量冗余。

How: 正確的做法

那么正確的做法是什么?

一、職責單一,專注

小到一個方法,一個類,大到一個模塊,再大到一個系統,它所做的事情應該是單一的,它只應該專注一件事,一個領域。

Controller調度器,既然稱為調度器,就不應該存在復雜的業務邏輯,它的職責應該是單一的,就是負責吧下層的服務模塊組合排列,實現view層的數據請求。

Service服務層,既然稱為服務層,就應該專注于服務,實現所有的業務邏輯,調用并組合Dao層查詢方法,不應該存在調度和直接DB請求。

Dao,Database access Object,數據庫訪問層,專注數據庫訪問,不應該存在業務邏輯。

二、模塊化

前面說到Controller負責調度,那假如我把所有的業務都寫到一個service方法里面,action就調了一個方法,別的什么事情也沒做,那這個調度是不是就沒用的?(service也一樣,如果沒有業務邏輯,單純調用Dao方法)。

需求就像一個奇形怪狀的建筑物,你有兩個選擇:

1.直接造一個這樣形狀的建筑物,滿足需求,下一次在直接造。

2.切分,將這個奇形怪狀的建筑物切分成規則形狀的積木,然后拼接粘合起來。下一次繼續切分,慢慢的你手里的規則積木越來越多,你的代碼也會越來越好寫,每個新需求,你只要利用現有積木加上一點膠水粘起來即可。這時候action,service的真正功能才能體現出來。

這里說的積木就是模塊,這個模塊可以是一個方法,一個類,一個封裝完整的功能。

相信都能看出來那種方法是好的,但是為什么大多數人都要采用第一種方法來寫代碼呢?

三、大而化之

在職責和模塊討論清楚后,我們來考慮,view/action/service/dao到底是什么,可否換一種寫法,當我們在分層的角度,在來看他們,其實他們只是一種層次的劃分,上層依賴下層,下層為上層提供服務,框架定義了我們要這樣分N層來寫。那我也完全可以自己定義分四層,五層...只要業務需要,于是這就形成了一種屬于你自己的編程思想。

上面三步需要一步步走扎實,當然,剛開始肯定是比較困難的,也許比你平常寫代碼還要困難,也更慢,這時候你需要一種品質:處女座(追求極致)! :)

Then: 終言

我們都知道java世界的工具框架很多,對于工程化開發來說,專注業務,不用造輪子,不錯!但是對于開發人員自己來說,就很容易造成思維僵化,入門容易,基礎差,提升困難!

這也應該是C程序員轉java容易,java程序員轉C困難的一部分原因吧!畢竟很多老C程序員是自己維護自己的工具庫,而這工具庫是自己一個個碼出來的。寶劍鋒從磨礪出,外部環境的優沃常常造成基礎的不牢固。

常常說懶是一個程序員的優秀品質,因為計算機本身就是懶的產物。但是,在夯實基礎時,必須苦功夫,笨功夫,追求極致,凡事多問多想幾個為什么,你才能有懶的資本。

任何事情都有兩面,過猶不及,中庸不等于平庸!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产日韩欧美在线观看| 亚洲一区中文字幕在线观看| 国产精品91视频| 国产一区二区黑人欧美xxxx| 欧美精品成人91久久久久久久| 亚洲人成在线观看| 欧美日韩中文在线观看| 日韩欧美成人免费视频| 色综合久久88色综合天天看泰| 亚洲成人久久电影| 欧美精品在线免费播放| 成人妇女免费播放久久久| 美日韩丰满少妇在线观看| 国产情人节一区| 久久精品视频亚洲| 国产精品久久久久av| 成人精品久久av网站| 亚洲精品一区二区在线| 欧美丝袜美女中出在线| 国产视频精品一区二区三区| 精品久久久999| 欧美国产第一页| 亚洲人成电影在线| 亚洲视频欧美视频| 国产精品自产拍高潮在线观看| 91精品国产高清久久久久久91| 久久久久久久久综合| 欧洲日本亚洲国产区| 国产精品一区久久久| 日韩免费高清在线观看| 亚洲国产高潮在线观看| 欧美精品亚州精品| 91免费在线视频| 国产97在线亚洲| 成人黄色激情网| 国产一区二区视频在线观看| 色噜噜狠狠狠综合曰曰曰| 蜜臀久久99精品久久久久久宅男| 性金发美女69hd大尺寸| 狠狠操狠狠色综合网| 日本精品va在线观看| 欧美日韩成人在线播放| 欧美伊久线香蕉线新在线| 久99久在线视频| 亚洲精品白浆高清久久久久久| 久久久国产精品视频| 成人免费视频网| 精品激情国产视频| 日韩a**站在线观看| 欧美精品videosex性欧美| 国产精品成人久久久久| 一区二区欧美日韩视频| 91香蕉国产在线观看| 久久97久久97精品免视看| 欧美制服第一页| 欧美激情一区二区三级高清视频| 欧美精品久久久久久久久| 日本免费在线精品| 欧美一区二三区| 欧美性猛交xxxx免费看久久久| 成人美女av在线直播| 97视频在线观看免费高清完整版在线观看| 亚洲免费人成在线视频观看| 日韩三级影视基地| 精品视频www| 国产精品99久久久久久白浆小说| 粗暴蹂躏中文一区二区三区| 国产精品久久久久免费a∨| 久久亚洲精品毛片| 国产a∨精品一区二区三区不卡| 久久久久久久激情视频| 日韩电影免费在线观看中文字幕| 91久久久亚洲精品| 久热在线中文字幕色999舞| 97国产成人精品视频| 久久在线视频在线| 国产日韩中文字幕在线| 国产三级精品网站| 久热精品视频在线免费观看| 亚洲天堂成人在线视频| 欧美成人精品影院| 日韩在线视频免费观看高清中文| 久久99久国产精品黄毛片入口| 欧美精品在线观看| 久热精品视频在线观看| 亚洲乱码av中文一区二区| 97香蕉超级碰碰久久免费的优势| 亚洲欧美一区二区三区在线| 97精品一区二区三区| 久久免费精品日本久久中文字幕| 国产成人黄色av| 国产精品入口福利| 亚洲国产日韩欧美在线图片| 亚洲影院在线看| 国模视频一区二区| 欧美国产视频日韩| 全色精品综合影院| 亚洲精品欧美日韩专区| 日韩精品极品毛片系列视频| 乱亲女秽乱长久久久| 日本精品va在线观看| 亚洲第一二三四五区| 97碰碰碰免费色视频| 国产精品h在线观看| 中文字幕亚洲欧美日韩高清| 欧美日产国产成人免费图片| 亚洲欧美国产精品久久久久久久| 亚洲女人初尝黑人巨大| 久久不射热爱视频精品| 欧美激情女人20p| 国产精品久久久久久久久影视| 国产精品你懂得| 九九九久久国产免费| 992tv在线成人免费观看| 亚洲欧美自拍一区| 国产在线高清精品| 亚州欧美日韩中文视频| 亚洲成人免费在线视频| 欧美成年人视频| 亚洲欧洲午夜一线一品| 国产精品高潮粉嫩av| 亚洲电影免费观看高清| 欧美疯狂做受xxxx高潮| 正在播放亚洲1区| 日韩禁在线播放| 国产在线日韩在线| 一个人看的www久久| 国产精品爽黄69| 91国产在线精品| 精品日韩美女的视频高清| 91香蕉电影院| 亚洲淫片在线视频| 亚洲国产精品va在线| 亚洲mm色国产网站| 久热精品视频在线免费观看| 成人午夜激情免费视频| 日韩欧美一区二区在线| 精品免费在线观看| 尤物99国产成人精品视频| 国产极品jizzhd欧美| 亚洲电影免费观看高清完整版| 亚洲高清色综合| 国产精品成人av在线| 久久伊人精品天天| 亚洲人在线视频| 久久天天躁狠狠躁夜夜av| 68精品国产免费久久久久久婷婷| 国产成人在线一区二区| 国产精品美乳一区二区免费| 亚洲综合小说区| 91免费电影网站| 69**夜色精品国产69乱| 欧美大肥婆大肥bbbbb| 色樱桃影院亚洲精品影院| 在线视频一区二区| 琪琪亚洲精品午夜在线| 久久久精品国产| 久久全球大尺度高清视频| 一个人看的www欧美| 国产精品国模在线| 国产精品一区二区三区毛片淫片| 91丝袜美腿美女视频网站| 国内偷自视频区视频综合| 欧美精品一本久久男人的天堂|