Design Patterns: Introduction

Content

设计模式之美整个课程的主要内容:

OOP vs OOPL

  • 面向对象编程,OOP(Object Oriented Programming)是一种编程范式或编程风格,它以类或对象作为组织代码的基本单元,并将封装、抽象、继承、多态四个特性,作为代码设计和思想的基石
  • 面向对象编程语言,OOPL(Object Oriented Programming Language)是支持类或对象的语法机制,并有现成的语法机制,能方便地思想面向对象编程四大特性的编程语言

OOA vs OOD

  • 面向对象分析,OOA(Object Oriented Analysis),就是要搞清楚做什么
  • 面向对象设计,OOD(Object Oriented Design),就是要搞清楚怎么做

UML

统一建模语言,UML(Unified Model Language).

Cheatsheet:

Online Tool.

Code Quality

代码质量的评价有很强的主观性。

Maintainability

代码易维护指在不破坏原有代码设计、不引入新的bug的情况下,能够快速地修改或者添加代码。

Readability

Any fool can write code that a computer can understand. Good programmers write code that humans can understand. —Martin Fowler

代码的可读性是评价代码质量德最重要的指标之一。

Extensibility

可扩展性表示代码应对未来需求变化的能力,我们在不或少量修改原有代码的情况下,通过扩展的方式添加新的功能代码。

Flexibility

灵活性是一个抽象的评价标准。

Simplicity

简洁性,KISS原则:“Keep It Simple, Stupid”,尽量保持代码简单,逻辑清晰。

Reusability

可复用性指尽量减少重复代码的编写,复用已有的代码,与DRY(Don’t Repeat Yourself)原则的关系挺紧密。

Testability

代码可测试性的好坏,能从侧面上非常准确地反应代码质量的好坏。

思从深而行从简,真正的高手能云淡风轻地用最简单的方法解决最复杂的问题。

Reference

Note: Cover Picture