1. 程式人生 > 實用技巧 >重學 Java 設計模式:實戰觀察者模式「模擬類似小客車指標搖號過程,監聽訊息通知使用者中籤場景」

重學 Java 設計模式:實戰觀察者模式「模擬類似小客車指標搖號過程,監聽訊息通知使用者中籤場景」


作者:小傅哥
部落格:https://bugstack.cn - 原創系列專題文章

沉澱、分享、成長,讓自己和他人都能有所收穫!

一、前言

知道的越多不知道的就越多

程式設計開發這條路上的知識是無窮無盡的,就像以前你敢說精通Java,到後來學到越來越多隻想寫瞭解Java,過了幾年現在可能想說懂一點點Java。當視野和格局的擴大,會讓我們越來越發現原來的看法是多麼淺顯,這就像站在地球看地球和站在宇宙看地球一樣。但正因為胸懷和眼界的提升讓我們有了更多的認識,也逐漸學會了更多的技能。雖然不知道的越來越多,但也因此給自己填充了更多的技術棧,讓自己越來越強大。

拒絕學習的惰性很可怕

現在與以前不一樣,資料多、途徑廣,在這中間夾雜的廣告也非常多。這就讓很多初學者很難找到自己要的知識,最後看到有人推薦相關學習資料立刻遮蔽、刪除,但同時技術優秀的資料也不能讓需要的人看見了。久而久之把更多的時間精力都放在遊戲、娛樂、影音上,適當的放鬆是可以的,但往往沉迷以後就很難出來,因此需要做好一些可以讓自己成長的計劃,稍有剋制。

平衡好軟體設計和實現成本的度°

有時候一個軟體的架構設計需要符合當前條件下的各項因素,往往不能因為心中想當然的有某個藍圖,就去開始執行。也許雖然你的設計是非常優秀的,但是放在當前環境下很難滿足業務的時間要求,當一個業務的基本訴求不能滿足後,就很難拉動市場。沒有產品的DAU支撐,最後整個研發的專案也會因此停滯。但研發又不能一團亂麻的寫程式碼,因此需要找好一個適合的度,比如可以搭建良好的地基,實現上可擴充套件。但在具體的功能上可以先簡化實現,隨著活下來了再繼續完善迭代。

二、開發環境

  1. JDK 1.8
  2. Idea + Maven
  3. 涉及工程三個,可以通過關注公眾號bugstack蟲洞棧,回覆原始碼下載
    獲取(開啟獲取的連結,找到序號18)
工程 描述
itstack-demo-design-18-00 場景模擬工程;模擬一個小客車搖號介面
itstack-demo-design-18-01 使用一坨程式碼實現業務需求
itstack-demo-design-18-02 通過設計模式優化改造程式碼,產生對比性從而學習

三、觀察者模式介紹

簡單來講觀察者