1. 单例模式:保证一个类只有一个实例,并提供一个全局访问他的方法。让类自身保存他的唯一实例,这个类可以保证没有其他实例可以被创建,并且他可以提供一个访问该实例的方法。
2. 观察者模式:又叫发布订阅模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生变化时,会同时通知所有观察者对象,使他们能够自动更新自己。
3. 简单工厂模式:通过多态,返回父类的实例,调用子类重写父类的方法。加减乘除运算。
优点:工厂类中包含了必要的判断逻辑,根据客户端的选择条件动态的实例化相关的类,对于客户端来说去除了对具体产品类的依赖。
4.工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类,
优点:没有修改的变化,只有扩展的变化,符合开放-封闭原则。
5. 建造者模式:将一个复杂对象的构建与他的表示分离,使得同样的构建过程可以创建不同的表示。
6. 代理模式:为其他对象提供一种代理以控制对这个对象的访问。
7. 单一职责原则:就一个类而言,应该仅有一个引起他变化的原因。比如:逻辑和界面分离。优点:易维护,易复用。
8.开放-封闭原则:软件实体(类,模块,函数等),可以扩展,但不可以修改。在我们最初编写代码时,假设变化不会发生,当变化发生时,我们就创建抽象来隔离以后发生的同类变化。
9.依赖倒转原则:a,高层模块不应该依赖底层模块,两个都应该依赖抽象。b,抽象不应该依赖细节,细节应该依赖抽象。说白了就是,谁也不要依赖谁,除了约定好的接口,其他的都可以灵活自如。
10.里氏代换原则: