相关疑难解决方法(0)

在Java中使用带参数的单例

我正在阅读维基百科上的Singleton文章,我遇到了这个例子:

public class Singleton {
    // Private constructor prevents instantiation from other classes
    private Singleton() {}

    /**
     * SingletonHolder is loaded on the first execution of Singleton.getInstance() 
     * or the first access to SingletonHolder.INSTANCE, not before.
     */
    private static class SingletonHolder { 
        private static final Singleton INSTANCE = new Singleton();
    }

    public static Singleton getInstance() {
        return SingletonHolder.INSTANCE;
    }
}
Run Code Online (Sandbox Code Playgroud)

虽然我非常喜欢这个Singleton的行为方式,但我看不出如何调整它以将参数合并到构造函数中.在Java中执行此操作的首选方法是什么?我必须这样做吗?

public class Singleton
{
    private static Singleton singleton = null;  
    private final int x;

    private Singleton(int x) {
        this.x …
Run Code Online (Sandbox Code Playgroud)

java oop singleton anti-patterns

130
推荐指数
8
解决办法
11万
查看次数

转换Singleton JS对象以使用ES6类

我使用ES6每个我的文章的WebPack ES6-transpiler这里:http://www.railsonmaui.com/blog/2014/10/02/integrating-webpack-and-the-es6-transpiler-into-an-现有的护栏项目/

将两个Singleton对象转换为使用ES6类是否有意义?

import { CHANGE_EVENT } from "../constants/Constants";

var EventEmitter = require('events').EventEmitter;
var merge = require('react/lib/merge');

var _flash = null;

var BaseStore = merge(EventEmitter.prototype, {

  emitChange: function() {
    this.emit(CHANGE_EVENT);
  },

  /**
   * @param {function} callback
   */
  addChangeListener: function(callback) {
    this.on(CHANGE_EVENT, callback);
  },

  /**
   * @param {function} callback
   */
  removeChangeListener: function(callback) {
    this.removeListener(CHANGE_EVENT, callback);
  },

  getFlash: function() {
    return _flash;
  },

  setFlash: function(flash) {
    _flash = flash;
  }
});

export { BaseStore };
Run Code Online (Sandbox Code Playgroud)

这是文件ManagerProducts.jsx,它有一个应该从BaseStore扩展的单例.

/**
 * Client side store …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-harmony ecmascript-6

25
推荐指数
4
解决办法
4万
查看次数

从构造函数返回什么?

如果我在构造函数中返回一些值或对象,var会得到什么?

function MyConstroctor()
{
    //what in case when return 5;
    //what in case when return someObject;
}

var n = new MyConstroctor();
Run Code Online (Sandbox Code Playgroud)

在这两种情况下会得到什么?

实际上它是一个测验问题,答案是什么?
从自定义对象构造函数返回什么?
a)新实例化的对象
b)未定义 - 构造函数不返回值
c)返回语句
是什么d)返回语句是什么; 如果没有return语句,则新实例化的对象

javascript

20
推荐指数
3
解决办法
2万
查看次数