成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

OOP Design

reclay / 735人閱讀

摘要:是私有的,不可以自己形成實例不可以被引用,用一個的方法來生成實例和獲取實例,也就是封裝。這段代碼在多線程下是不可行的,因為是的,會有問題,多個線程同時訪問這個函數(shù)時,會生成多個。

Approach

Step 1: Handle Ambiguity (figure out the question)
Step 2: Define the Core Objects
Step 3: Analyze Relationships
Step 4: Investigate Actions (details)

Design Patterns Singleton
public class Singleton {
    private static Singleton _instance = null;
    protected Singleton() {}
    public static Singleton getInstance() {
        if(_instance == null) {
            _instance = new Singleton();
        }
        return _instance;
    }
}

_instance是私有的,不可以自己形成實例不可以被引用,用一個getInstance的方法來生成實例和獲取實例,也就是封裝(encapsulation)。
這段代碼在多線程下是不可行的,因為getInstance()是public的,synchronization會有問題,多個線程同時訪問這個函數(shù)時,會生成多個instance。

利用synchronized和volatile
public class Singleton {
    private volatile static Singleton _instance = null;
    protected Singleton() {}
    public static Singleton getInstance() {
        if(_instance == null) {
            synchronized(Singleton.class) {
                if(_instance == null) {
                    _instance = new Singleton();
                }
            }
        }
        return _instance;
    }
}
Volatile

volatile has the feature of "synchronized".

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/66474.html

相關(guān)文章

  • 論文解讀:Design patterns for container-based distribut

    摘要:論文認(rèn)為,繼面向?qū)ο缶幊趟I(lǐng)的軟件開發(fā)革命之后,如今似乎在分布式系統(tǒng)開發(fā)中也發(fā)生著一場相似的革命基于容器化組件構(gòu)建的微服務(wù)架構(gòu)。容器的一大獨特優(yōu)勢在于良好的邊界恰好適合應(yīng)用開發(fā)的隔離性。這似乎是對編程藝術(shù)的重申。 這是由Kubernetes創(chuàng)始人發(fā)表的論文,總結(jié)了基于容器的分布式系統(tǒng)的設(shè)計模式,讓我們來一覽究竟吧。 論文認(rèn)為,繼OOP(面向?qū)ο缶幊蹋┧I(lǐng)的軟件開發(fā)革命之后,如今似乎...

    Gemini 評論0 收藏0
  • 論文解讀:Design patterns for container-based distribut

    摘要:論文認(rèn)為,繼面向?qū)ο缶幊趟I(lǐng)的軟件開發(fā)革命之后,如今似乎在分布式系統(tǒng)開發(fā)中也發(fā)生著一場相似的革命基于容器化組件構(gòu)建的微服務(wù)架構(gòu)。容器的一大獨特優(yōu)勢在于良好的邊界恰好適合應(yīng)用開發(fā)的隔離性。這似乎是對編程藝術(shù)的重申。 這是由Kubernetes創(chuàng)始人發(fā)表的論文,總結(jié)了基于容器的分布式系統(tǒng)的設(shè)計模式,讓我們來一覽究竟吧。 論文認(rèn)為,繼OOP(面向?qū)ο缶幊蹋┧I(lǐng)的軟件開發(fā)革命之后,如今似乎...

    AdolphLWQ 評論0 收藏0
  • [CS101] Programming Languages and OOP 編程語言及面向?qū)ο蠡A(chǔ)題

    摘要:編程語言及面向?qū)ο蠡A(chǔ)題 編程語言及面向?qū)ο蠡A(chǔ)題 Design Pattern What is singleton? Whats its cons and pros? How to implement it?Definition: Singleton pattern is a design pattern that ensure that only one instance of a...

    Drinkey 評論0 收藏0
  • PHP設(shè)計模式系列之入門

    摘要:設(shè)計模式系列之入門設(shè)計模式是一套被反復(fù)使用多數(shù)人知曉的經(jīng)過分類編目的代碼設(shè)計經(jīng)驗的總結(jié)。毫無疑問,設(shè)計模式于己于他人于系統(tǒng)都是多贏的設(shè)計模式使代碼編制真正工程化設(shè)計模式是軟件工程的基石脈絡(luò),如同大廈的結(jié)構(gòu)一樣。 PHP設(shè)計模式系列之入門 設(shè)計模式(Design pattern)是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設(shè)計經(jīng)驗的總結(jié)。使用設(shè)計模式是為了可重用代碼、讓代碼更容易...

    animabear 評論0 收藏0
  • Design Pattern的萬劍歸宗 => Mediator

    摘要:大意就是作者把種不斷的重組歸納抽象直道最后抽象為一種設(shè)計模式,。而所有的關(guān)注的核心問題就是如何控制信息流但是我個人認(rèn)為核心是如何解耦。再根據(jù)信息流劃分出對象在系統(tǒng)中擔(dān)任的種角色,。所以歸為一種核心所有的的職責(zé)都是控制。 Overview 今天看了YouTube上的一個講Design Pattern的視頻,把這個視頻的大意給大家分享一下,該視頻的作者是Anthony Ferrara。 ...

    yuanzhanghu 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<