UML类图备注:1、+public、private、#protect、棒棒糖表示接口 2、△—— 继承关系(空心三角+实线)△ 实现接口(空心三角+虚线)——> 关联(实线箭头) > 依赖(虚线箭头)◇——> 聚合关系(空心菱形+实线箭头)◆——> 组合关系(实心菱形+实线箭头)1、简单工厂2、策略者模式3、单一原则4、开放封闭原则:软件实体(类、模块、函数等)应该可以扩展,但就是不能修改5、1、依赖倒转原则:a 抽象不应该依赖细节,细节应该依赖抽象(针对接口变成,不要对实现编程);b 高层模块不应该依赖低层模块
两个都应该依赖抽象5、2、里氏替换原则依赖倒转其实可以说就是面对对象设计得标志,用哪种语言来编写程程不重要,假如编写得时候考虑得都就是如何针对抽象编程而不就是对细节编程,即程序中所有得依赖关系都就是终止于抽象类或者接口,那就就是面对对象得设计,反之那就就是过程化得设计了6、装饰模式:动态得给一个对象添加额外得职责,就增加功能来说,装饰模式比生成子类更加灵活
装饰模式就是为已有功能动态地添加更多功能得一种方式
7、代理模式:为其她对象提供一种代理以控制对这个对象得访问8、工厂方法:定义一个用于创建对象得接口,让子类觉得实例化哪一个类
工厂方法使一个类得实例化延迟到其子类简单工厂模式得最大优点在于工厂类中包含了必要得逻辑推断,根据客户端得选择条件动态实例化相关得类,对于客户端来说,去除了与具体产品得依赖9、原型模式:原型实例指定创建对象得种类,并且通过拷贝这些原型创建新得对象
一般在初始化得信息不发生变化得情况下,克隆就是最好得办法,这既隐藏了对象创建得细节,又对性能就是大大得提高(等于不用重新初始化对象,而就是动态地获得对象运行时得状态)9、2、浅复制与深复制MemberwiseClone 方法就是这样,假如自定就是指类型得,则对该字段执行逐位复制,假如字段就是引用