- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Spring主要实现的模式介绍:工厂模式和单态模式
1. 单态模式
单态模式限制了类实例的创建,但采用这种模式创建的类,可以保证仅有一个实例。
为了防止单态模式的类被多次实例化,应将类的构造器设成私有,这样就保证了只能通过静态方法获得类实例,而该静态方法则保证每次返回的实例都是同一个,这样就需要将类的实例设置成类属性,由于该属性需要被静态方法访问,因此该属性应设成静态属性。
下面给出单态模式的代码
public class SingletonText
{
//该类的一个普通属性
int value ;
//使用静态属性保存该类的一个实例
private static SingletonText instance;
//构造器私有化,避免该类别多次实例化
private SingletonText(){
System.out.println(正在执行构造器 );
}
//提供静态方法来返回该类的实例
public static SingletonText getInstance(){
//实例化类实例前,先检查该类的实例是否存在
if(instance == null){
//如果不存在,则新建一个实例
instance = new SingletonText();
}
//返回改类的成员变量:改类的实例
return instance ;
}
//下面对该类的普通属性value的setter和getter方法
public int getValue()
{
return value ;
}
public void setValue(int value)
{
this.value = value;
}
public static void main(String[]args){
SingletonText s1 = SingletonText.getInstance();
SingletonText s2 = SingletonText.getInstance();
s2.setValue(9);
System.out.println(s1 == s2);
}
}
从程序的结果可以看出,改类的两个实例完全相同,这证明单态模式的全部实例是同一共享实例,程序里虽然获得了类的两个实例,但实际上只执行依次构造器,因为对于单态模式的类,无论有多少次的创建实例请求,都只执行一次构造器
2.工厂模式
工厂模式是根据调用数据返回某个类的一个实例,此类可以是多个类的某一个类。通常,这些类满足共同的规则(接口)或父类。调用者只关心工厂生产的实例是否满足某种规范,即实现的某个接口是否可供自己正常调用(调用者仅仅使用)。该模式给对象之间作出了清晰的角色划分,降低程序的耦合。
下面是工厂模式的实例代码
定义Person接口
public interface Person
{
public String sayHello(String name);
public String sayGoodBye(String name);
}
下面是Person接口的两个实现类
public class American implements Person
{
public String sayGoodBye(String name)
{
return name + ,Hello ;
}
public String sayHello(String name)
{
return name + ,GoodBye ;
}
}
public class Chinese implements Person
{
public String sayGoodBye(String name)
{
return name + ,您
您可能关注的文档
最近下载
- 第4版2025年软考高项速记口诀 .pdf VIP
- 《小石潭记》思维导图九图导览(10《小石潭记》(思维导图)-八年级语文下册同步课堂(部编版)).docx
- 成人机械通气患者俯卧位护理试题含答案.doc VIP
- 质量手册程序文件表单全套.doc
- 上海《基坑工程技术规范》.doc
- 部编版《道德与法治》三年级下册第10课《爱心的传递者》优质说课PPT课件.pptx VIP
- 广东省深圳市南山区2024-2025学年五年级(上)期末语文试卷(有答案).pdf VIP
- 61850报文解析-深瑞版-131016.pdf
- 2024-2030年中国市政工程市场现状调研分析及发展前景报告.docx
- 《城市排水管网模拟系统(DigitalWater Simulation)简介》.pdf
文档评论(0)