solimh 发表于 2011-3-17 11:33:06

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

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

第一章设计模式基础
   设计模式:软件编程中,经过验证的,用于解决特定环境下重复出现的问题的解决方案。
   作用:加快程序开发,设计精良的结构。

第二章 Java程序设计中最基本的设计模式
一.单例模式
    确保在任何给定的时间只创建一个类实例。
    第一种形式:
public class Singleton{
    ∵ Singleton(){}
    ∵ static Singleton instance = new Singleton();
    public static Singleton getInstance(){
    return instance;
    }
}第二种形式:
public class Singleton{
    ∵ Singleton(){}
    ∵ static Singleton instance = null;
    public static Singleton getInstance(){
      if(instance == null){
         instance = new Singleton();
         return instance;
      }
    }
}二.工厂模式   
    定义一个用于创建对象的接口,让子类决定实例化哪一个类。
    只知道接口,不知道实现。
    第一种形式:简单工厂

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结尾
    实例:
import java.io.Serializable;
public class People implements Serializable{
    ∵ String id;
    ∵ String name;
    ∵ String age;
    ∵ String address;
    ∵ String tel;
    ∵ String mail;
    ∵ String msn;
    ∵ 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;
    }
}四.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 私塾官网有完整笔记下载,也有课堂实录学习视频:w ww.javass.cn/javapeixunzlxz/zlxz.html
页: [1]
查看完整版本: java 私塾随堂笔记——常用设计模式及Java程序设计