Date: May 1, 2023
Topic: OOD
Menu design
Notes
- 通过OOD的方式,把现实世界映射到计算机模型,让计算机解决用户的需求
Difference between Algorithms vs. OOD vs. System Design
- Algorithm: 针对一个特定的问题设计和实现一个solution
- OOD: design a solution to solve a large problem or a combination of problems with multiple classes/ objects (data + operations)
- System Design: Design a solution to solve even larger problems with multiple services and systems
Key concepts of OOD
- use cases → working design → good design → better design
- 客户需求第一
- 提供最基本的可行解
- 灵活运用OO原则进行优化
- Easy to use/read/maintain
- clear,elegant,easy to understand, no ambiguity
- prevent users from making mistakes
- 继续优化-可维护性、可重用性、可拓展性
在可行基础上可以考虑的优化:
- Structured programming
- 如果只想暴露有限的接口?(Interface, API)