如果重复使用单例的代码?

问题描述

我又一个需求interface Baseclass Base1 implements Baseclass Base2 ...class Base3如果Base1,2,3都是单例,我需要在每一个class里面都按照单例的写法写一次,有没有办法复用这样的代码?Thx

解决方案

interface Base class Base1 implements Base class Base2 extends Base1 class Base3 extends Base2让class Base2 ... class Base3直接继承Base1不就行了
解决方案二:
我可以明确的告诉你,你假如不自己写框架,肯定办不到。但是你可以写个自己的工厂框架,可以搬到类似效果,我实现过这样的东西。首先,你得明白,单例就是指同一个应用,只能有一次实例的产生,那么表现出来的特点就是,你所有用这个类实例的地方,其实都是同一个对象是吧。那好,你首先把每个对象构造一次,存入map,并且设置成static的类变量(那么就全局了),那么你每次取的对象的时候,都用key去取得,这时候你每次的对象都是一个。
解决方案三:
如果一个项目中单例过多,是有问题的
解决方案四:
没有好办法private构造器要定义返回指定类的static方法需要定义指定类的对象都各不相同

时间: 2024-08-08 14:49:19

如果重复使用单例的代码?的相关文章

【转载】JAVA序列化/反序列化与单例

本文转载自http://shift-alt-ctrl.iteye.com/blog/1842040   单例设计类:   Java代码   package com.test.singleton;      import java.io.IOException;   import java.io.ObjectStreamException;   import java.io.Serializable;         public class SingleTon implements Serial

JAVA序列化/反序列化与单例

单例设计类:   Java代码   package com.test.singleton;      import java.io.IOException;   import java.io.ObjectStreamException;   import java.io.Serializable;         public class SingleTon implements Serializable{          /**       *        */       private

Java---设计模块(设计模块的简介及最简单的俩个单例代码加测试)

设计模式学习概述: 为什么要学习设计模式 1.设计模式都是一些相对优秀的解决方案,很多问题都是典型的.有代表性的问题,学习设计模式,我们就不用自己从头来解决这些问题,相当于在巨人的肩膀上,复用这些方案即可. 2.设计模式已经成为专业人士的常用词汇,不懂不利于交流. 3.能让你设计的系统更加专业,让系统有更好的架构. 学习设计模式的层次 1.基本入门级--套用型(半年到一年左右时间领悟学会) 2.基本掌握级--可变形使用型(一年左右时间领悟学会) 3.真正理解和掌握级--思想上吸收和趋同型(看个人

asp.net中C++单例实现问题分析

  方案一  代码如下   class QMManager { public:     static QMManager &instance()     {         static QMManager instance_;         return instance_;     } } 这是最简单的版本,在单线程下(或者是C++0X下)是没任何问题的,但在多线程下就不行了,因为static QMManager instance_;这句话不是线程安全的. 在局部作用域下的静态变量在编译时

s2sh 框架 线程单例等问题

问题描述 业务A:每月添加一条数据如果该月已经添加则不让添加现在我的做法是添加之前发送一个请求查询一下数据库是不是已经存在该月数据了.问题因为是ssh框架所以当有多个人同时添加的时候会重复添加数据.如果我把这块代码抽出来弄成单例并且加上同步锁是不是可行?或者还有别方法还有一个问题是假如用s2sh框架做一个售票系统应该要考虑到线程安全问题 解决方案 解决方案二:你查一下synchronized的用法就是解决线程同步的问题中间用sleep()调试内容比较多不能都贴出来给个小例子卖车票:publicc

iOS - OC SingleClass 单例类

前言 对于一个单例类,无论初始化单例对象多少次,在程序的整个生命周期内,只会创建一个类的实例对象,而且只要程序不被杀死,该实例对象就不会被释放,并且该对象是全局的,能够被整个系统访问到. 在应用这个模式时,单例对象的类必须保证只有一个实例存在.许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为.比如在 APP 开发中我们可能在任何地方都要使用用户的信息,那么可以在登录的时候就把用户信息存放在一个文件里面,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这

(单例设计模式中)懒汉式与饿汉式在多线程中的不同

/*  目的:分析一下单例设计模式中,懒汉式与饿汉式在多线程中的不同!  开发时我们一般选择饿汉式,因为它简单明了,多线程中不会出现安全问题!  而饿汉式需要我们自己处理程序中存在的安全隐患,但是饿汉式的程序技术含量更高! */ /* class SinglePerson implements Runnable{    private static SinglePerson ss = new SinglePerson("hjz", 22);//恶汉式    private int ag

PHP单例:只在整个页面周期内唯一

由于asp.net是编译型的,所以单例一直会存在于这个应用程序的生命周期里,真正可以做到这个实例在应用程序生命周期中的唯一性. 单例模式的存在在一些情况下是比较有意义的,如BlogEngine的站点配置就是采用的单例模式,而且它的载入和保存的代码是相当经典的,有兴趣可以看看它的源代码. 由于asp.net是编译型的,所以单例一直会存在于这个应用程序的生命周期里,真正可以做到这个实例在应用程序生命周期中的唯一性. php的单例模式的实现大致如下: class Stat{       static

Ruby设计模式透析:单例(Singleton)

写软件的时候经常需要用到打印日志功能,可以帮助你调试和定位问题,项目上线后还可以帮助你 分析数据,但是Ruby原生带有的puts方法却很少在真正的项目开发中使用. 为什么作为Ruby新 手神器的puts,到了真正项目开发当中会被唾弃呢?其实只要细细分析,你就会发现它的很多弊端.比 如不可控制,所有的日志都会在项目上线后照常打印,从而降低运行效率:又或者不能将日志记录到本 地文件,一旦打印被清除,日志将再也找不回来:再或者打印的内容没有Tag区分,你将很难辨别这一 行日志是在哪个类里打印的. 你的