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]