Homepage
Open in app
Sign in
Get started
閒談軟體設計
Follow
閒談軟體架構:MVC
閒談軟體架構:MVC
很久前就曾想寫這個主題,但若寫的不好,恐怕又引起一番論戰,畢竟眾多 framework 實作 MVC 的方式都不一樣,從某 framework 入手認識 MVC 的開發者對 MVC 的認知可能就和從另一個 framework 了解 MVC 的開發者不同。
Du Spirit
Apr 6, 2019
閒談軟體架構:Repository
我想有用過 Spring Data 的開發者對 Repository 應該都蠻熟悉,只要宣告個 interface,在 JPA annotation 完備的情況下,Spring Data JPA 會自動 inject 實作。我自己則是在 Martin Fowler…
Du Spirit
Mar 3, 2019
閒談軟體設計:設計抉擇的因素
閒談軟體設計:設計抉擇的因素
會有這一篇文章,是在 DZone 看到《Yet Another Evil Suffix for Object Names: Client》討論 AWS S3 Client 的設計不夠 OO,這讓我想起之前曾替公司設計過 Java SDK…
Du Spirit
Sep 30, 2017
Latest
閒談軟體設計:技術債是選擇來的
閒談軟體設計:技術債是選擇來的
這一篇的契機,其實是很久之前曾在社群媒體看到一張佛系技術債的圖,當時就在代辦事項裡留個紀錄,不過一直都被其他題目插隊 (代表我很 agile,更重要的先寫,精簡 ── 或最大化未完成工作量之技藝 ──…
Du Spirit
Mar 22
閒談軟體設計:Database Driven Design?
閒談軟體設計:Database Driven Design?
今天來聊個最近很夯的主題 DDD,但不是 DDD 的本尊 Domain Driven Design,而是無所不在的 Database Driven Design,試著回想一下,平常在開發一個新功能時,是不是有以下症狀:
Du Spirit
Mar 8
閒談軟體設計:再來一碗
閒談軟體設計:再來一碗
有點意外,上一篇《閒談軟體設計:來煮碗拉麵吧》回響還不錯,果然標題是很重要的 (咦~重點不應該是內容嗎?),本來這一篇是要來回答和前同事討論中的一個問題,什麼是 Dependency-Inversion Principle?但例子後來弄得有點太複雜了,解釋起來反而有點模糊焦點。
Du Spirit
Feb 23
閒談軟體設計:Cache, Repository style
閒談軟體設計:Cache, Repository style
這一篇是重新整理《閒談軟體設計:Repository》時,說要獨立分出來的文章,但一直拖稿到現在,主要是最近都在玩 Final Fantasy 7 重製版,不太有時間寫文章,破關後,該開始來還債了 XD
Du Spirit
Feb 2
閒談軟體設計:多種 work 類型
閒談軟體設計:多種 work 類型
提到後端工程師,似乎就只是開發 API,但一個複雜的系統其實不太可能只透過 API 就能完成,例如一個簡單的功能,註冊會員,其實是由好幾個不同類型的工作互相配合,您才能收到開通信,才確保資料庫不會有一堆未開通帳號等。所以今天就來聊聊一個系統有幾種不同執行方式的工作。
Du Spirit
Jan 12
閒談軟體設計:Developer eXperience
閒談軟體設計:Developer eXperience
最近公司陸陸續續排入了 developer experience 的改進項目,自此,好像這樣,就變成了不再只是關注 UX 也在乎 DX 的好公司,但 DX 的定義是什麼?即便是找到了這段影片
Du Spirit
Dec 23, 2023
閒談軟體設計:Offline first (Server 篇)
閒談軟體設計:Offline first (Server 篇)
如果您以為上一篇 閒談軟體設計:Offline first (Client 篇) 已經是所有需要考慮的眉角,那可就錯了,實作 offline first 不是只有 client 要注意,server 也需要下功夫的。
Du Spirit
Dec 6, 2023
閒談軟體設計:Offline first (Client 篇)
閒談軟體設計:Offline first (Client 篇)
Offline first 的設計最近有越來越多的感覺 (我不敢說是趨勢),但好的 Offline first 設計要解決蠻多的問題,是否使用 offline first 設計真的需要好好思考,不然可能得不到好處,反而還引起一堆 bug,本篇先探討在 client…
Du Spirit
Dec 6, 2023
閒談軟體設計:Java virtual thread
閒談軟體設計:Java virtual thread
當初在《迎接 Java 19: 虛擬執行緒與平台執行緒》[拙譯] 的後記中提到,如果把 virtual thread 套用到《閒談軟體設計:Async…
Du Spirit
Apr 15, 2023
閒談軟體設計:來煮碗拉麵吧
閒談軟體設計:來煮碗拉麵吧
很久沒上來,都快長蜘蛛絲了。為什麼是煮拉麵呢?主題是來自前同事在問我為什麼有人的程式好像常常會歪掉,或是變得難維護,後續的討論中,他用的例子就是拉麵,所以... 今天就用程式來煮拉麵吧!
Du Spirit
May 15, 2022
閒談軟體設計:UUID 之三部曲
閒談軟體設計:UUID 之三部曲
ㄟ~好啦,我知道離上一篇《閒談軟體設計:再聊 UUID》,沒多久再聊一次 UUID 有點怪,但這個使用情境其實挺有意思的,您是否有過以下情境:
Du Spirit
Sep 19, 2021
閒談軟體設計:再聊 UUID
閒談軟體設計:再聊 UUID
這文章是因為過去使用大量的 UUID,但 UUID 有個致命的缺點是,它實在太長了,128 bits 用 Hex 表示法,至少要 32 個字元,如果再加上分隔符號,就要 36 個字元,把這放在面向使用者者的頁面上,應該不會有人會記得住吧!但 UUID…
Du Spirit
Sep 10, 2021
閒談軟體設計:聊聊實聯制
閒談軟體設計:聊聊實聯制
已經有好一陣子沒有更新這裡的文章了,主要是前陣子下班之餘大多時間都在忙 side project,也就沒什麼時間更新文章。之前本來想趁著公司實聯制新功能上線,寫一下整個開發過程,順便當個徵才廣告,但寫一寫覺得沒甚麼好寫的,於是就棄坑了。
Du Spirit
Jun 20, 2021
閒談軟體架構:Singleton
閒談軟體架構:Singleton
這文章來自網友在《閒談軟體架構:Single Responsibility》的留言 (有人幫忙想題目也挺不錯的),問到:Singleton 對於好的架構來說是否能避免就避免呢?我簡單地回了一下我的想法,但 Singleton 其實很有趣,所以就寫篇文章來聊聊吧!
Du Spirit
Jan 2, 2021
閒談軟體架構:Deploy on Friday
閒談軟體架構:Deploy on Friday
之前看到同溫層有些人在討論 Deploy on Friday 這件事,本來沒想要跟風,偏偏昨晚要下班時,公司設定的 alert 響起,而且還是非常重大的那一種,只好把背包放下,跟其他同事協助將被灌爆的客服。老實說,這不是我們上版引起的,而是我們使用的 Firebase…
Du Spirit
Oct 23, 2020
閒談軟體架構:Switch 壞味道
閒談軟體架構:Switch 壞味道
這篇的標題來自《重構 — 改善既有程式的設計》第一版 (話說第二版出了,卻一直沒買來翻翻) 的第三章:程式碼的壞味道,這章條列了 22 個程式碼常見的壞味道,像是很多人朗朗上口的 duplicated code、long method、large class、long…
Du Spirit
Jul 15, 2020
閒聊軟體架構:Single Responsibility
閒聊軟體架構:Single Responsibility
話說在前頭,這篇文章所提出的質疑不一定適用所有的情境,請依據讀者自己的情境酌量採用。
Du Spirit
Apr 4, 2020
閒談軟體架構:架構師難尋?
閒談軟體架構:架構師難尋?
會有這篇是因前陣子,和 91App 的首席架構師 Andrew 在母校北科旁的伯朗咖啡聊聊天。會找到我是因為 HR 看過我《閒談軟體架構》某篇文章後,然後問 Andrew 這位作者如何?碰巧 Andrew 也看過 Async everything?,加上 Terry…
Du Spirit
Mar 4, 2020
閒談軟體架構:聊聊 State 與語言
閒談軟體架構:聊聊 State 與語言
會想寫這篇是因為先前看到一篇網路文章討論用物件管理狀態的問題,看完後我只能說,不論用 OOP 還是 FP 語言,終究得處理狀態,程式也許沒有狀態,但系統有狀態。因為,如果系統沒有狀態,那會非常難用,沒有購物車記住選購的東西,那網頁購物系統會多難用應該不難想像吧!
Du Spirit
Oct 6, 2019
閒談軟體架構:Async everything?
閒談軟體架構:Async everything?
開始之前,先來個小測驗
Du Spirit
Sep 1, 2019
閒談軟體架構:Query Object
閒談軟體架構:Query Object
之前在開發旅遊 app 的內容管理平台時,初期 Repository 用得好好的,但到後期,為了輸出報表或是提用特定列表時,就需要一直在 repository 的介面上加上特定的 query method,像是這樣 (這不是當時的程式,只是示意):
Du Spirit
Mar 2, 2019
閒談軟體設計:Immutable Interface
閒談軟體設計:Immutable Interface
這是三年前的舊文, 不過,回頭再看一遍,還是挺有意思的。順便更新一下,Java 9 針對 library 開發有更好的存取限制 (模組),可將某些類別和函式限定成同模組就可以存取,這很適合將實際實作的類別隱藏起來,但外部是看不到的。Swift 也有…
Du Spirit
Sep 19, 2017
閒談軟體設計:Model Model Model
閒談軟體設計:Model Model Model
可能是過去求學時,學的是《Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development》和《Object-Oriented…
Du Spirit
Aug 13, 2017
閒談軟體設計:語意的抽象化
閒談軟體設計:語意的抽象化
唸研究所開始當助教,偶而會有學弟妹問:怎樣寫好程式?老實說,這是個大哉問,連我學開發軟體這麼久,我也只能回答他們:多培養自己釐清問題、拆解問題、解決問題與抽象化的能力。但他們通常只會一臉狐疑看著我,感覺我說的話好抽象。事實上,這也不是我第一個這樣說的,有句軟體工程諺語是這樣說的:…
Du Spirit
May 29, 2017
About 閒談軟體設計
Latest Stories
Archive
About Medium
Terms
Privacy
Teams