• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

设计模式学习笔记

发布: 2007-7-04 13:34 | 作者: admin | 来源:  网友评论 | 查看: 9次 | 进入软件测试论坛讨论

领测软件测试网

2004-11-10        星期三      晴

1.  什么是设计模式?
答:1) 设计模式是重用的解决方案;
    2) 设计模式构建了一系列规则描述如何完成软件开发领域的适当任务;
    3) 一个模式定位于一个特定设计环境出现的可重用设计问题并提供了一个解决方案;

2.  工厂模式
答:

public class CarCreateDemo {
 public static void main(String[] args) {
  CarCreate carCreate = new CarCreate();
  AudiType audiType = new AudiType();
  BWMType bwmType = new BWMType();
  BenzType benzType = new BenzType();
  carCreate.createCar(audiType);
  carCreate.createCar(bwmType);
  carCreate.createCar(benzType);
 }
}

class CarCreate
{
 public void createCar(ICarType carType) {
  ICar car = carType.createCar();
  car.createWheel();
  car.createEngine();
  car.createDoor();
 }
}

interface ICarType {
 ICar createCar();
}

class AudiType implements ICarType
{
 public ICar createCar() {
  return new Audi();
 }
};

class BWMType implements ICarType
{
 public ICar createCar() {
  return new BWM();
 }
};

class BenzType implements ICarType
{
 public ICar createCar() {
  return new Benz();
 }
};

interface ICar {
 void createWheel();
 void createEngine();
 void createDoor();
}

class Audi implements ICar
{
 public void createWheel(){System.out.println("Create Audi Wheel");}
 public void createEngine(){System.out.println("Create Audi Engine");}
 public void createDoor(){System.out.println("Create Audi Door");}
};

class BWM implements ICar
{
 public void createWheel(){System.out.println("Create BWM Wheel");}
 public void createEngine(){System.out.println("Create BWM Engine");}
 public void createDoor(){System.out.println("Create BWM Door");}
};

class Benz implements ICar
{
 public void createWheel(){System.out.println("Create Benz Wheel");}
 public void createEngine(){System.out.println("Create Benz Engine");}
 public void createDoor(){System.out.println("Create Benz Door");}
};

3.  Singleton模式
答:
public class ProductLineDemo
{
 public static void main(String[] args){
  ProductLine productLine1 = ProductLine.getProductLine();
  ProductLine productLine2 = ProductLine.getProductLine();
  productLine1.createProduct();
  productLine2.createProduct();
 }
};

class ProductLine extends Thread
{
 static ProductLine instance = null;
 int numberOfProduct = 0;
 int maxProduct = 10;

 private ProductLine(){};
 public static ProductLine getProductLine(){
  if(instance == null) {
   instance = new ProductLine();
  }
  return instance;
 }

 public void createProduct() {
  if (numberOfProduct < maxProduct) {
   numberOfProduct ++; 
   System.out.println("这是今天生产的第" + numberOfProduct + "个产品!");
   try{
    sleep(300);
    createProduct();
   } catch(Exception e){
   }
  }
  else {
   System.out.println("今天已完成任务,喝茶去吧!");
  }
 }
}

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网