`

新手对设计模式的一些总结持续更新

阅读更多

讲解设计模式的文章特别的多在此不作介绍,我个人总结对设计模式的一些简单理解

 

 

                                                 如何为你的产品中添加设计模式

 

 

单例模式

 


 

  单例模式有以下的特点:

   .. 单例类只可有一个实例。
   .. 单例类必须自己创建自己这惟一的实例。
   .. 单例类必须给所有其他对象提供这一实例。

 

       单例模式可以应用在应用中只允许一个实例的情况,我现在做的C/S软件中的获取数据库的Connection就要以应用到其中,因为在业务层中连接数据库可能有2次以上,如果将单例模式概念应用到其中,想必效果很棒不管怎么复杂的业务只有一次的连接。

       
 在写方法时如果返回有多个参数请在最后加s表示(这是规范性的问题)

 

 

 

 

 

 

 

package thtf.ebuilder.db;

import java.io.Serializable;

import javax.sql.DataSource;

import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
 * Spring工具类,通过它获得Spring中的对象
 * 
 * @author 杨伦亮 10:44:21 AM
 */
public class SpringPlugin implements Serializable {
	static org.springframework.context.ApplicationContext context = null;
	private static class ApplicationContextUtil {
		static final SpringPlugin SPRINGPLUGIN = new SpringPlugin();
	}
	/**
	 * private的构造函数用于避免外界直接使用new来实例化对象
	 */
	private SpringPlugin() {
	}
	public static SpringPlugin getInstance() {
		return ApplicationContextUtil.SPRINGPLUGIN;
	}
	public Object getBean(String beanName) {
		if (context == null) {
			context = new ClassPathXmlApplicationContext("application*.xml");
		}
		return context.getBean(beanName);
	}
	/**
	 * readResolve方法应对单例对象被序列化时候
	 */
	private Object readResolve() {
		return getInstance();
	}
	public static void main(String[] args) {
		DataSource dataSource = (DataSource) new SpringPlugin()
				.getBean("dataSource");
		dataSource = (DataSource) new SpringPlugin().getBean("dataSource");
		try {
			System.out.println("oo" + dataSource.getConnection().isClosed());
		} catch (Exception e) {
			e.printStackTrace();
		}
		dataSource = (DataSource) new SpringPlugin().getBean("dataSource");
		try {
			System.out.println("oo" + dataSource.getConnection().isClosed());
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}
 

 

 

 

 

分享到:
评论

相关推荐

    新手家居销售个人工作总结.docx

    从给定的文档来看,这份总结主要围绕新手家居销售的工作经验与心得展开,涉及了作为一位优秀家居销售人员所需具备的精神面貌、专业知识、顾客心理、销售技巧等多个方面。下面,我们将根据文档中的要点,进一步深入...

    Head first design pattern

    无论你是刚接触设计模式的新手,还是希望深化对设计模式理解的开发者,都能从中受益匪浅。通过阅读《Head First设计模式》,你将学会如何在自己的项目中有效地运用设计模式,提升代码质量,为软件的可持续发展打下...

    JAVA编程书籍

    "java设计模式"则聚焦于软件设计的实践,设计模式是解决常见编程问题的经验总结,它们为开发者提供了在特定情境下重用已验证的解决方案的方法。这本书可能涵盖了如单例模式、工厂模式、观察者模式、装饰器模式、策略...

    Python新手资料

    根据提供的文件信息,这里主要涉及的是关于Python新手学习的一些资料整理和更新日志解析。由于提供的部分内容似乎包含了一些非标准的编码或者乱码字符,因此这部分解读可能存在一定的困难。但根据标题、描述以及标签...

    敏捷软件开发:原则,模式与实践

    设计模式是解决常见软件设计问题的经验总结,它们为开发者提供了通用的语言,帮助团队更有效地沟通和实现复用。书中不仅解释了这些模式的工作原理,还讨论了如何在敏捷环境中适当地应用它们,以保持代码的灵活性和可...

    web开发经验方法总结(拿过来就能用)

    遵循一定的编码规范和设计模式,可以使代码更易于理解和维护。 8. **测试与调试**:单元测试、集成测试和性能测试是确保产品质量的重要步骤。使用如Jest、Mocha等测试工具,结合Chrome DevTools等调试工具,能有效...

    编程经验总结—一个程序员的经验

    无论是框架、库还是编程语言,都需要有持续学习和更新知识的能力。 10. **团队协作与沟通**:编程不仅是技术活,也是团队工作。学会有效地沟通,理解需求,协同工作,是成为一个优秀程序员的重要环节。 以上只是...

    高二英语组师徒结总结.docx

    在这种模式下,资深教师(师父)与新手教师(徒弟)形成一对一的指导关系,通过相互听课、评课等活动,共同提升教育教学能力。 3. 听课评课:听课评课是师徒结对活动中重要的一环。徒弟在师父的监督下授课,能够...

    村级小学教师一年总结个人.docx

    由于我是新手教师,经验不足,我投入大量时间研究教材,从网络资源中汲取精华,以设计出符合学生需求的教学方案。在课堂上,我努力激发学生的学习热情,确保每个学生都能积极参与。对于作业,我认真批改,及时反馈,...

    敏捷软件开发:原则、模式与实践(全).pdf

    总结,《敏捷软件开发:原则、模式与实践》全面涵盖了敏捷开发的理论基础与实践经验,无论是对新手还是有经验的开发者,都能从中受益,提升软件开发的效率与质量。通过理解和应用书中的原则和实践,团队可以更好地...

    MineCraft创造模式扩展包

    创造模式扩展包的一大优势在于其对便捷性的提升。例如,它可以实现无限物品瞬间获取,只需简单的快捷键操作就能得到所需资源,无需频繁地打开物品栏。此外,扩展包还可能包含飞行速度调整、一键清除周围方块等功能,...

    小学英语国培学习总结参阅.pdf

    这些总结表明,教师的专业发展不仅仅是技能的提升,还包括教育理念的更新、教学方法的创新、评价方式的多样化以及对学生的关爱与引导。通过国培学习,教师能够更好地适应教育改革,提升教学质量,为学生的全面发展...

    小学教师师徒结对数学总结5篇.docx

    "小学教师师徒结对数学总结"是一种有效的教师专业发展方式,旨在通过经验丰富的教师(师傅)对新手教师(徒弟)的指导,提升整体的教学质量和教学能力。这种模式强调了合作学习和持续的专业发展,对双方都有显著的...

    小学体育师徒结对总结师父发言.pdf

    1. 师徒结对制度:这是一种在教育行业中常见的培养新手教师的方式,资深教师(师父)与新手教师(徒弟)配对,通过互相学习和指导,提升新手教师的教学能力和专业素养。 2. 教学计划制定:师父会根据徒弟的特长和...

    Java学习资料汇集(书籍、文章、总结)

    设计模式系列文章涵盖模板模式、策略模式、工厂模式等多个主题,学习这些模式能让你的代码更加优雅、易于扩展和阅读。在Java并发编程领域,系列文章覆盖了基础、并发工具类、线程池等,而《Java并发编程实战》是...

    VC编程经验总结 ---

    在大型项目中,设计模式是保持代码组织有序和可维护性的关键。例如,工厂模式用于创建对象,单例模式用于确保类只有一个实例,观察者模式用于实现事件驱动编程。熟悉这些模式并知道如何在VC项目中应用它们,可以提高...

    程序设计实践.rar

    7. **软件设计模式**:设计模式是解决常见编程问题的经验总结,如单例模式、工厂模式、观察者模式等。理解并应用设计模式,可以提高代码质量和可维护性。 8. **数据库与数据持久化**:在许多应用中,数据存储和检索...

    参考资料-外贸新手如何寻找外贸客户——网络篇.zip

    总结,网络为外贸新手提供了丰富的客户资源。通过搜索引擎、社交媒体、B2B平台、在线活动、电子邮件营销和网络营销策略,新手可以系统地寻找和接触外贸客户,逐步建立起稳定的业务网络。同时,持续学习和适应网络...

    XX年公司年终总结.doc

    10. 企业持续学习与改进:反思现有模式,及时调整策略,如取消业务员制度,转而寻找更符合公司定位的业务模式,是企业发展过程中不可或缺的一环。 总结:在创立和经营设计公司过程中,必须明确盈利目标,适应角色...

Global site tag (gtag.js) - Google Analytics