java 私塾随堂笔记——常用设计模式及Java程序设计

luodis 发布于 2011/03/17 10:27
阅读 419
收藏 4

java 私塾随堂笔记——常用设计模式及Java程序设计
 
第一章  设计模式基础
   设计模式:软件编程中,经过验证的,用于解决特定环境下重复出现的问题的解决方案。
   作用:加快程序开发,设计精良的结构。
 
第二章 Java程序设计中最基本的设计模式
一.单例模式
    确保在任何给定的时间只创建一个类实例。
    第一种形式:
[code]
public class Singleton{
    private Singleton(){}
    private static Singleton instance = new Singleton();
    public static Singleton getInstance(){
    return instance;
    }
}[/code]
 
    第二种形式:
[code]
public class Singleton{
    private Singleton(){}
    private static Singleton instance = null;
    public static Singleton getInstance(){
        if(instance == null){
           instance = new Singleton();
           return instance;
        }
    }
}[/code]
 
二.工厂模式   
    定义一个用于创建对象的接口,让子类决定实例化哪一个类。
    只知道接口,不知道实现。
    第一种形式:简单工厂

public clas Factory{
  public static Api createApi(int type){
    if(type == 1){
       return new Impl1();}
    else if (type ==2){
       return new Impl2();}
  }
}

三.值对象模式
    本质:封装数据
    规则:1.写一个类实现可序列化
          2.私有化所有属性
          3.为每个属性提供对应的getter和setter (方法返回类型为boolean的get变is)
          4.推荐覆盖实现toString(),equals(),hashCode()
    类名起名原则:以大写VO结尾
                  或以ValueObject结尾
                  或Model结尾
    实例:
[code]
import java.io.Serializable;
public class People implements Serializable{
    private String id;
    private String name;
    private String age;
    private String address;
    private String tel;
    private String mail;
    private String msn;
    private String sex;
   
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    public String getAge() {
        return age;
    }
    public void setAge(String age) {
        this.age = age;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getMail() {
        return mail;
    }
    public void setMail(String mail) {
        this.mail = mail;
    }
    public String getMsn() {
        return msn;
    }
    public void setMsn(String msn) {
        this.msn = msn;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getTel() {
        return tel;
    }
    public void setTel(String tel) {
        this.tel = tel;
    }
   
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
}[/code]
 
四.DAO模式
   |-business
      |-ebi
      |-ebo
      |-factory
   |-dao
      |-dao
      |-factory
      |-impl
   |-vo
 
*什么是开放-封闭法则(OCP)
    可扩展但是不可以更改已有的模块
    对扩展是开放的,对修改是封闭
 
*什么是替换法则(LSP)
    在一个方法中可以使用基类引用的地方,都可以使用其子类去替换它们
 
*如何综合使用我们学过的设计模式来构建合理的应用程序结构
    是采用接口进行隔离,然后同时暴露值对象和工厂类,如果是需要数据存储的功能,又    会通过DAO 模式去与数据存储层交互。
 
*构建常用的合理的Java应用包结构
 
    |-use
       |-business
          |-ebi
          |-ebo
          |-factory
       |-dao
          |-dao
          |-factory
          |-impl
       |-vo
       |-web
          |-action
          |-vo
 
java 私塾官网有完整笔记下载,也有课堂实录学习视频:www.javass.cn/javapeixunzlxz/zlxz.html

加载中
返回顶部
顶部