责任链
整理工厂模式
Spring的工厂实现方法BeanFactory接口的实现类ClassPathXmlApplicationContext可以获取spring的配置文件的响应id、classfactory.getBean('id')==>返回类;
抽象工厂方法
工厂模式单例模式(静态工厂方法)
抽象类接口农场一头小母牛每年生头小母牛母牛五岁产母牛二十年上多少牛?
隐藏(封装) 降低耦合度继承(耦合度很强,要谨慎使用)多态(子类重写父类的方法,抽象父类不必实现抽象方法),给我们带来了可扩展性(Extensibility)。
OO思维:考虑类 名词属性(一般是private) 不可脱离具体的应用环境方法类之间的关系
问题:只给司机一辆车。car的产生只有一个,就把car变为privateprivate static Car car=new Car();prvate Car(){};public static Car getInstance(){return car;}单例。下面是多例的方法。private static List<Car> cars=new ArrayList<Car>();在Test中,为car=Car.getInstance(); interface 中的所有的方法都 为public的。Moveable m=new Plane();典型的多态实例。工厂的概念,就 是把类与类的产生过程 分开。而且还要考虑到扩展的问题。需要定义父类和一个接口,其中接口实现交通类的方法,抽像类里面有个抽像方法,让子类去实现具体的产生过程。在真正产生对像的时候是这样子写的:VehicleFactory factory=new CarFactory();Moveable car=factory.create();这样就产生了一个car对像。
封装1,先考虑类(名词),设计没有绝对的标准,仁者见仁,智者见智,只有一些相对普遍的设计。PS:(追求完美是一种性格缺陷),(像一个正常的人去思维)2.属性,类不可脱离具体的环境来确定。3.方法,不建议直接访问类里的属性,类里面的属性一般都 是private。要用getName,与setName方法访问。4.类之间关系
面向对象类:名词属性:不可脱离具体的应用环境