Thanks to visit codestin.com
Credit goes to github.com

Skip to content

设计模式入门学习以及各模式的原理,以及相关面试题

Notifications You must be signed in to change notification settings

BaryLeo/PatternGuide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

设计模式,是在程序员成长之路的必学经典,因为这是前人所总结出来的,最佳的实践方法,学会设计模式,提高代码质量,而不是让写出来的代码不堪入目。本项目是我在学习中总结的笔记,以及代码实践。

设计原则

注意,开发时应尽量遵循一下原则,特殊情况特殊对待

1、多用组合(接口),少用继承

2、封装变化,即找出程序中会变化的方面,然后将其和固定不变方面相分离

3、面向接口编程,而非针对实现编程

4、为了交互对象之间的松耦合设计而努力(优先级很高)

5、类应该可对扩展开放,对修改关闭(优先级最高)

6、依赖抽象,不要依赖具体类

7、依赖倒置原则:底层模块依赖高层模块,而非高层模块依赖低层模块,移除低层模块后高层模块仍能正常工作,只是少了部分功能,即高层模块调用低层模块,低层模块禁止调用高层模块

8、一个类应该只有一个引起变化的原因

9、高内聚,低耦合

10、知少原则,一般情况下,类类之间关系越少越好,就一个类只与一两个类来往

目录

1 . 策略模式(Strategy Pattern)

2 . 观察者模式(Observer Pattern)

3 . 装饰者模式(Decorator Pattern)

4 . 工厂模式(Factory Pattern)

5 . 抽象工厂模式(Abstract Factory Pattern),请先阅读工厂模式

6 . 单例模式(Singleton Pattern)

7 . 适配器模式(Adapter Pattern)

8 . 迭代器模式(Iterator Pattern)

9 . 命令模式(Command Pattern)

10 . 组合模式(Composite Pattern)

11 . 外观模式(Facade Pattern)

12 . 模板模式(Template Pattern)

13 . 状态模式(State Pattern)

14 . 代理模式(Proxy Pattern)

15 . MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式

About

设计模式入门学习以及各模式的原理,以及相关面试题

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages