# 【開張啦】一個軟體架構師的實戰開發筆記 嗨,我是一個寫 ERP 系統架構寫了超過 20 年的軟體架構師。 這個部落格,我打算用來記錄一些實務開發上的心得、踩過的坑、解過的奇葩問題 —— 也就是那些你在書上看不到、教學影片裡也沒人講的東西。 --- ## 我的故事,從 2000 年開始說起… 大學讀機械設計,研究所跑去工工所主修 AI,2000 年畢業後靠著國防役進了一家 ERP 套裝軟體公司。剛好公司那時要把老舊的 Client/Server 系統重新打造為支援 Windows 跟 Web 的三層式架構,也就這麼剛好,我被推去當了架構設計的第一線苦工。從此開啟我與「系統架構」之間的愛恨糾纏 —— 從此,一腳踏進這條不歸路。 而我拿到的第一個任務,就讓我至今印象深刻: > 因為 Crystal Reports 授權太貴,主管問我能不能自己寫一套報表引擎,Windows 跟 Web 都能用的那種。 我愣了一下,然後回:「應該…可以試試看?」 於是我硬著頭皮做了。 結果三個月後,還真的做出第一版報表引擎(包含 Report Engine、Designer、Viewer),還順利上線了。 那是我第一次深刻體會到: **原來一個人,也可以扛起整套底層元件的開發。** 我花了三天學會全新的 Delphi 語言,寫的第一個元件就是 Report Viewer 控制項。從此一路寫下去,後來幾乎都是擔任架構設計的角色。 之後不管去哪間公司,幾乎都被丟去負責底層架構: 報表機制、流程引擎、排程服務、ORM、控制項、UI 動態建版、自動化測試…能寫的我幾乎都寫過,不能寫的也硬著頭皮寫過。 我目前主要使用 .NET 技術,設計可同時支援 **WinForm、Web、App** 的共用架構,應對多平台、多租戶、客製化與雲端化等企業環境常見的挑戰。重點在於: - **共用邏輯核心、前後端解耦** - **低耦合、高可測、易於擴充維護** 這些心得,也將會是這個部落格想持續分享的重點。 --- ## 為什麼我想寫這個部落格? 因為我發現,很多主流框架寫起來很理想,實際上手卻常常撞牆。 有些坑踩久了會痛,有些坑踩久了會習慣,久了還會自己挖坑給自己跳。 比方說: - 系統太舊,技術升級就像換心手術 - 客製太多,搞到自己都看不懂邏輯 - 效能瓶頸,怎麼優化都還是慢半拍 - 使用者需求一天一個想法,下一步直接通靈 而這些,正好就是我最常面對的日常。 所以我想分享一些實戰經驗,像是: - 如何在「現實限制」中,設計出撐得住又活得久的系統? - 舊系統該怎麼升級,才能順利導入新技術、新前端? - 系統要怎麼設計,才能未來輕鬆從地端搬上雲端? - 面對老舊資料庫與跨平台需求,怎麼拆才不會拆到出事? - 那些我親身踩過的雷、跌過的坑、繞過的路 不是什麼炫技文,也不談最新潮的框架, 我想講的是——每天工程師會遇到的「真實問題」。 --- ## 如果你… - 對 ERP、企業系統、平台架構有興趣 - 每天都在跟客製化系統搏鬥 - 喜歡「從實務出發」的技術心得 歡迎交流,留言打招呼也行, 下一篇文章見啦 👋 ## 📬 聯絡與關注 歡迎追蹤我的技術筆記與實戰經驗分享: 👉 [Facebook|天台上的架構師](https://www.facebook.com/profile.php?id=61574839666569) 👉 [HackMD|架構開發筆記](https://hackmd.io/@jeff377) 👉 [NuGet|Bee.NET Framework](https://www.nuget.org/profiles/jeff377)