设计模式

2018-03-07  本文已影响0人  zzz1985xx

创建模式

class Point
{
  // 直角坐标系
  public Point(double x, double y){
  }
  // 极坐标系
  public Point(double r, double theta){
  }
}
class Point
{
 private Point(double x,double y){}
  // 直角坐标系
  public static Point cartesian(double x, double y){
  }
  // 极坐标系
  public static Point polar(double r, double theta){
  }

}
abstract class WidgetFactory {
public abstract Component CreateFrame();
}

public class AwtWidgetFactory extends WidgetFactory {
  public Container CreateFrame(){}
}

public class SwingWidgetFactory extends WidgetFactory {
  public Container CreateFrame(){}
}

public class LoginForm {
  private WidgetFactory factory;
  public LoginForm(WidgetFactory factory){
    this.factory = factory
  }
  public Container CreateLoginWindow(){
   Container window = factory.CreateFrame() 
  }
}
public class FormBuilder{
  public Component BuildInput(){
    step1();
    step2();
    .......
    return component;
  }
}

结构模式 structural pattern

抽象有多重要,层次就有多重要
底层模块经过合作产生高层模块,也可以高层模块经过细化产生底层模块,抽象层次向上递增,向下递减,不可随意越级调用,一旦随意调用,抽象层次被破坏,分层意义大打折扣,代码混乱不堪。
软件中很多问题都可以插入一个中间层来解决
抽象的目的是为了对抗变化,是寻求某种一致性的过程,放过来遵循一致性有利于抽象的形成

上一篇 下一篇

猜你喜欢

热点阅读