---
# System prepended metadata

title: 如何用物件導向實作複雜的業務需求

---

{%hackmd DfWYF9cYREebVNN1eEOz-w %}

如何用物件導向實作複雜的業務需求
======

> ***不知自己不知道, 那你會以為你知道.***

#### tags: `oop` `書` `如何用物件導向實作複雜的業務需求` `202203`

# 前言
此書想解決的痛點:
- 反正最後都能完成功能，那為什麼要這樣寫 class，不能那樣寫??
- class 的設計標準是什麼?
- 能否將自然語言轉換成 OOP 呢?? 是腦力激盪還是靠天才創造?? 或者是有方法可循的??
- 如何判斷物件導向設計做得好還是不好??
- 是否有過學了一堆 OOP 知識，但工作上就是無法靈活運用?

此書分成四部分:
1. 物件導向基礎: 深入闡述物件導向概念，以便「知其然，更知其所以然」
2. 物件導向方法: 物件導向與開發流程環環相扣須步步為營，避免使用主觀決策、隨興所至的開發方式。
3. 物件導向技巧: W(What), W(Why), H(How) 常見的物件導向技術
4. 實戰技巧

# Part1 - 物件導向概述
程序導向是將一個大流程，透過程式碼與資料一行一行的往下走來實現。但因軟體的需求時常在變，這種方式除了不好理解外也不好維護與擴充。因此程序導向慢慢被物件導向取代。

物件導向的核心為***可擴充性***。