成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

PHP+Java的開發經驗:不要太面向對象

開發 后端
作者在Web開發的過程中,逐漸覺得太過于面向對象不是件好事。文章列舉了Java開發的網站遇到的一些問題,并分享了自己PHP+Java建站的經驗。

說起面向對象,現在很多語言多少都有一些。Java是傳統的面向對象語言,PHP也有一些面向對象,但不是很好。完全的面向對象在具體的項目中(本文是Web開發項目),有時候其實并不是***的選擇。本文作者最終選擇了PHP+Java的一個模式,并分享了一些自己的經驗。

我較早接觸了C++(高中),也較早接受了面向對象思想。面向對象思想更接近人的思考方式,其封裝、繼承等特性也常常能夠簡化一些工作,最重要的是思路看起來清晰多了。我對面向對象的思想深信不疑,直到有一天,我在WEB項目中陷入困惑。

我以前的工作也都是WEB開發相關的,通常項目里都是接口、實現,service層,DAO層這個樣子。久而久之,就習慣了這種模式。后來,我開始自己做網站(自己運營),也沿用這種模式,花了一陣子時間把東西弄出來,可以跑了,問題也隨之而來了。大家都知道,類似門戶網站這樣的東西,尤其是成長期的網站,可能會經常面對一些變更、擴展。它不像企業項目或是以穩定模式運營的網站,可以一套寫好的程序一直用下去。可是JAVA的東西改動起來有點麻煩。

***:項目里用了很多接口,業務變更有不少時候還要動接口。也許有人會說,這是因為需求沒做好。是的,可以這么認為,但有個前提:需求根本沒法一步到位,否則網站也別跑了,等需求分析做好,花都謝了。回憶一下這個經典的流程:要增加一個特性(頁面部分暫不討論),先增加或修改一個service接口;然后增加或修改其實現;接著視需要可能還要再增加或修改一個DAO層接口,對應的要增加或修改其實現;***,我們真正要改的,往往只是一個SQL語句。

這一系列流程太過繁瑣了。門戶網站基本是展示信息的,它的業務邏輯,說到底基本上是SQL語句體現出來的。你想想看,網站上顯示什么東西,怎么排序,怎么聚合,這些不都對應著相應的SQL語句么?如果你非要把DAO層寫成基本的增刪改,然后在service層大作文章去實現本來對應著一個SQL語句的業務羅輯,這有什么意思呢?純粹為了分層而分層?為了面向對象而面向對象?更不用說那一堆接口,平白增加工作量。我當然不會否認接口在編程思想中的意義,只是傳統的JAVA WEB編程中的那一堆接口,是否真正是一個合理應用呢?我看很多情況下不是。我后來用PHP重寫我的項目中的一大部分功能,只用了幾天的時間,沒有分層,沒有接口。這樣帶來的工作效率的提升,真是愜意!

第二:JAVA WEB項目的發布通常需要重啟服務,造成WEB運行中斷。不少人在討論熱部署,我不知道熱部暑最終能達到怎樣一個水平,但我想信無法達到像PHP那樣隨時修改文件隨時生效。為了不中斷服務,我通常選擇做個集群,輪流發布。這樣雖然仍舊有可能產生一些問題,但比中斷應用好多了。可是集群會帶來發布上的麻煩,集群本身也未必是我真正需要的。

隨之而來的還有一些小問題,比如如果我項目中包含一些存儲大量文件的文件夾,在發布的時候又要特別處理,這樣很不爽。即使做軟鏈接,發布時也免不了要做額外工作。這些問題,當然我想信會有更好的解決辦法,我個人目前仍在探索中。

面對上述這些問題,我最終不再堅守面向對象。我把項目改成了前PHP后JAVA的形式。PHP做前端顯得靈活多了,整個改版,PHP的邏輯部分沒花多少時間,時間都用在了頁面設計上;JAVA的后端又能保證穩定高效,易于安全設計。由此,我最終發出了“不要太面象對象”這一感嘆。需求決定一切,跟著別人的思想走,跟入邪教沒區別。

問題也還并沒有結束,對JAVA后端部分,我還在探索一個基于插件式的可以熱加載、缷截插件的CMS后端系統。呵,不能因為上面的原因把面象對象一棒子打死。

不過不管怎樣,看了作者的描述,倒是不妨試試PHP+Java的組合:看看放棄一些面向對象能夠帶來些什么好處吧。

【編輯推薦】

  1. 9月編程語言排行榜:PHP的歷史性突破
  2. 再談Web開發:PHP,Java和.NET的過去,現在和未來
  3. 51CTO Web開發專區
  4. 專題:PHP開發基礎入門
  5. PHP 5.3.0發布 新增命名空間等多項特性
責任編輯:yangsai 來源: JavaEye
相關推薦

2011-07-12 17:53:21

PHP

2009-06-30 15:29:00

Java面向對象

2013-07-08 17:06:36

PHP開發從程序化到面向對象程序化

2009-11-23 19:24:01

PHP面向對象編程

2013-08-16 11:26:24

程序員面向對象

2015-03-19 14:53:17

面向對象程序員新手程序員

2013-07-02 13:52:07

2009-06-16 15:02:18

面向對象編程PHP異常PHP代理

2012-03-13 16:39:52

Java

2023-01-10 09:38:09

面向對象系統

2011-07-07 18:23:54

PHP

2009-11-23 13:44:33

PHP5面向對象

2009-06-15 14:59:31

Java代碼Java

2021-10-21 18:47:37

JavaScript面向對象

2011-07-05 14:42:46

java

2022-08-08 08:25:21

Javajar 文件

2023-10-25 13:42:19

Java面向對象

2021-06-08 09:47:44

Java面向對象

2015-08-04 08:56:14

swift子類

2013-03-11 09:23:22

Go語言面向對象
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久一区二区三区四区 | 韩日一区 | 99精品电影 | 亚洲一级av毛片 | 欧美国产日韩在线 | 午夜影院在线观看视频 | 喷潮网站| 成人免费看片网 | 久久高清 | 日韩欧美一区二区三区在线播放 | av大片| 亚洲国产一区二区视频 | 成人影院在线观看 | 久久婷婷麻豆国产91天堂 | 最新国产精品精品视频 | 久久这里只有精品首页 | 99久久婷婷| 欧美一区二区三区在线观看 | 久久51| 成人精品免费视频 | 亚洲夜夜爽 | 在线精品国产 | 不卡一区二区三区四区 | 午夜视频免费在线观看 | 日韩亚洲一区二区 | 91在线播| 在线播放国产一区二区三区 | 欧美激情va永久在线播放 | www.久久久 | 色婷婷影院 | 一级黄片一级毛片 | 一区二区成人 | 欧美中文字幕一区二区 | 91精品久久久久久久久中文字幕 | 亚洲成人黄色 | 亚洲精品免费视频 | 综合国产 | 涩涩视频网站在线观看 | 国产视频第一页 | 成人性视频免费网站 | 久久一区二区三区免费 |