一.代码无错就是优----简单工厂模式
1.1)命名的规范性。
2)判断语句的合理写法。
3)考虑不肯能成立的条件。
2.活字印刷,面向对象
1)可维护
2)可扩展
3)可复用
4)灵活性好
3.面向对象的好处
复用和复制,业务的封装
4. 业务逻辑和界面逻辑分开
5.紧耦合和松耦合
6.简单工厂模式就是如何去实例化对象的问题
注:UML的知识点补充
空三角形+实线:继承关系
Interface+棒棒糖:接口
空三角形+虚线:接口的实现
实线箭头:关联关系
空菱形+实线:聚合关系
实菱形+实线:拥有关系
虚箭头:依赖关系
二.商场促销-----策略模式
-
1. 面向对象的编程并不是类越多越好,类的划分是为了封装,但分类的基础是抽象,具有相同属性和功能的抽象集合才是类。
2. 策略模式:定义了算法家族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化,不会影响起用算法的客户。
需要添加一个context上下文,维护一个对strategy对象的引用。
三.拍摄UFO-----单一职责模式
就一个类而言,他应该有一个引起他变化的原因。
如果一个类承担太多的职责,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。
工厂方法克服了简单工厂违背开放--封闭原则的缺点,又保持了封装对象创建过程的优点。工厂方法模式是简单工厂模式的进一步抽象和推广。但是缺点是由于每加一个产 品,就需要加一个产品工厂的类,增加了一个额外的开发量。
九.简历复印----原型模式
-
原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
原型模式其实就是从一个对象在创建另外一个可定制的对象,而且不需要知道任何创建的细节。
-
.net在system命名空间中提供了ICloneable接口,其中就是唯一的方法Clone(),只需要实现这个接口就可以完成原型模式了。
-
但是必须添加如下代码:前复制
-
piblic Object Clone(){
-
return (Object)this.MemberwiseClone();
-
}
-
MemberwiseClone()方法是这样,如果字段是值类型的,则对该字段执行逐位复制,如果字段是引用类型,则复制引用但不复制引用的对象;因此,原始对象及其复本引用同一对象。意思就是MemberwiseClone()只能对浅复制,不能实现里面有类的情况。那样就要进行深复制。
-
调用深复制 this.work=(workExperience)work.Clone();