一、代码规范:
1、代码书写规范;
2、面向对象编程;
3、封装;
4、高内聚,低耦合;
二、简单工厂模式:
只需要输入相应的运算符号,就能够在设计的工厂模式类中实例化出合适的对象,然后通过多态类返回结果。
三、UML类图:
1、接口:
声明了一个飞翔的接口。
inferface IFly
{
void Fly();
}
2、实现接口:
大雁实现了飞翔这个接口。
class WideGoose:IFly
{
}
3、泛化:
鸟类是由动物类泛化而成,也可说鸟类继承了动物类。
class Bird:Animal
{
}
4、关联:
企鹅的生存环境与气候有关。
class Penguin : Bird
{
private Climate climate;
}
5、聚合:
雁群类由一个个大雁对象组成。
class WideGooseAggregate
{
private WideGoose[] arrayWideGoose;
}
6、组合:
翅膀是鸟类组成的一部分,鸟类与翅膀同时生成。
class Bird
{
private Wing wing;
public Bird()
{
wing=new Wing();
}
}
7、依赖:
动物类依赖氧气和水。
abstract class Animal
{
public Metabolism(Oxygen oxygen,Water water)
{
}
}
四、策略模式:
把算法分别封装起来,使算法与算法之间可以替换,并且使得在变化的同时不影响使用算法的客户。
策略模式的优点:
1、减少耦合:可以以相同的方式调用所有的算法,只是实现不同,减少了各种算法与使用算法类之间的耦合。
2、使用继承:策略模式的Strategy类层次为Context定义了一系列的可供重用的算法或行为。继承有助于析取出这些算法中的公共功能。
3、简化单元测试:每个算法都有自己的类,可以通过自己的接口单独测试。
4、避免大量判断:将不同的行为封装在一个个独立的Strategy类中,可以在使用这些行为的类中消除条件语句。
5、封装算法:为不同的类型定义了不同的策略类和相应支持算法的接口,从而封装了具体的算法或行为。
五、简单工厂模式与策略模式完美结合:
简单工厂模式与策略模式相结合,是类间的耦合更加降低,大大的减轻了客户端的负担。