相关疑难解决方法(0)

什么是依赖注入?

已经发布了几个关于依赖注入的具体问题的问题,例如何时使用它以及它有哪些框架.然而,

什么是依赖注入以及何时/为什么应该或不应该使用它?

language-agnostic design-patterns dependency-injection terminology

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

847
推荐指数
16
解决办法
31万
查看次数

关于设计模式:我什么时候应该使用单身人士?

荣耀的全球变量 - 成为一个荣耀的全球阶级.有人说打破面向对象的设计.

给我一些场景,除了好的旧记录器,使用单例是有意义的.

singleton design-patterns

421
推荐指数
14
解决办法
21万
查看次数

我什么时候应该使用Lazy <T>?

我发现这篇文章是关于Lazy:C#4.0中的懒惰 - 懒惰

使用Lazy对象获得最佳性能的最佳实践是什么?有人能指出我在实际应用中的实际用途吗?换句话说,我什么时候应该使用它?

.net c# lazy-evaluation

312
推荐指数
6
解决办法
12万
查看次数

202
推荐指数
10
解决办法
19万
查看次数

什么是反模式?

我正在研究模式和反模式.我对模式有一个清晰的认识,但我没有反模式.网络和维基百科的定义让我很困惑.

任何人都可以用简单的词语向我解释反模式是什么?什么目的?他们在做什么?这是坏事还是好事?

ooad design-patterns terminology anti-patterns

175
推荐指数
10
解决办法
6万
查看次数

在PHP中是否有用于数据库访问的单例的用例?

我通过PDO访问我的MySQL数据库.我正在设置对数据库的访问权限,我的第一次尝试是使用以下内容:

我想到的第一件事是global:

$db = new PDO('mysql:host=127.0.0.1;dbname=toto', 'root', 'pwd');

function some_function() {
    global $db;
    $db->query('...');
}
Run Code Online (Sandbox Code Playgroud)

这被认为是一种不好的做法.一点点搜索后,我结束了与Singleton模式,其

"适用于需要单个类实例的情况."

根据手册中的示例,我们应该这样做:

class Database {
    private static $instance, $db;

    private function __construct(){}

    static function singleton() {
        if(!isset(self::$instance))
            self::$instance = new __CLASS__;

        return self:$instance;
    }

    function get() {
        if(!isset(self::$db))
            self::$db = new PDO('mysql:host=127.0.0.1;dbname=toto', 'user', 'pwd')

        return self::$db;
    }
}

function some_function() {
    $db = Database::singleton();
    $db->get()->query('...');
}

some_function();
Run Code Online (Sandbox Code Playgroud)

当我能做到这一点时,为什么我需要相对较大的课程呢?

class Database {
    private static $db;

    private function __construct(){}

    static function get() …
Run Code Online (Sandbox Code Playgroud)

php oop singleton design-patterns

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

要避免的设计模式

许多人似乎都同意,Singleton模式有许多缺点,有些甚至建议完全避免这种模式.这里有一个很好的讨论.请将有关Singleton模式的任何评论指向该问题.

我的问题:是否有其他设计模式,应该避免或小心使用?

design-patterns anti-patterns

104
推荐指数
9
解决办法
2万
查看次数

如何将值传递给我的wcf服务上的构造函数?

我想将值传递给实现我的服务的类的构造函数.

但是,ServiceHost只允许我传递要创建的类型的名称,而不是传递给其构造函数的参数.

我希望能够传入一个创建我的服务对象的工厂.

到目前为止我发现了什么:

wcf dependency-injection factory-pattern

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

PHP中的全局变量是否被视为不良做法?如果是这样,为什么?

function foo () {
    global $var;
    // rest of code
}
Run Code Online (Sandbox Code Playgroud)

在我的小PHP项目中,我通常采用程序方式.我通常有一个包含系统配置的变量,当我需要在函数中访问此变量时,我会这样做global $var;.

这是不好的做法吗?

php global global-variables

84
推荐指数
5
解决办法
3万
查看次数