原文:(原創)c++11改進我們的模式之改進單例模式

我會寫關於c 的一個系列的文章,會講到如何使用c 改進我們的程序,本次講如何改進我們的模式,會講到如何改進單例模式 觀察者模式 訪問者模式 工廠模式 命令模式等模式。通過c 的改進,我們的模式變得更通用 更簡潔 更強大。本次講如何改進單例模式。 在c 之前,我們寫單例模式的時候會遇到一個問題,就是多種類型的單例可能需要創建多個類型的單例,主要是因為創建單例對象的構造函數無法統一,各個類型的形參不盡 ...

2013-06-19 21:29 3 15773 推薦指數:

查看詳情

(原創)c++11改進我們的模式改進命令模式

  模式雖然精妙,卻難完美,比如觀察者模式中觀察者生命周期的問題;比如訪問者模式中循環依賴的問題等等;其它很多模式也存在這樣那樣的一些不足之處,如使用場景受限、實現復雜、不夠簡潔、不夠通用等。但我覺得不足之處大都是可以采取一些手法去彌補去改進的,比如用c++11的新特性來改進。因此,便有 ...

Mon Oct 21 15:43:00 CST 2013 2 2880
(原創)c++11改進我們的模式改進代理模式,實現通用的AOP框架

c++11 boost技術交流群:296561497,歡迎大家來交流技術。 本次要講的時候如何改進代理模式,具體來說是動態代理模式,動態代理模式一般實現AOP框架,不懂AOP的童鞋看這里。我前面的博文也實現了一個AOP框架(可以參考我前面的博文:(原創C++ 輕量級AOP框架 ...

Tue Jun 25 18:09:00 CST 2013 8 2214
(原創)c++11改進我們的模式改進觀察者模式

單例模式面臨的是同樣的問題,主題更新的接口難以統一,很難做出一個通用的觀察者模式,還是用到可變模板參數解決這個問題,其次還用到了右值引用,避免多余的內存移動。c++11版本的觀察者模式支持注冊的觀察者為函數、函數對象和lamda表達式,也避免了虛函數調用,更簡潔更通用。直接看代碼 ...

Thu Jun 20 18:51:00 CST 2013 0 2732
原創C++11改進我們的程序之右值引用

本次主要講c++11中的右值引用,后面還會講到右值引用如何結合std::move優化我們的程序。 c++11增加了一個新的類型,稱作右值引用(R-value reference),標記為T &&,說到右值引用類型之前先要了解什么是左值和右值。左值具名,對應指定內存域,可訪問;右值 ...

Tue Oct 15 19:45:00 CST 2013 2 7410
原創C++11改進我們的程序之move和完美轉發

  本次要講的是右值引用相關的幾個函數:std::move, std::forward和成員的emplace_back,通過這些函數我們可以避免不必要的拷貝,提高程序性能。move是將對象的狀態或者所 ...

Sat Oct 19 00:06:00 CST 2013 3 8839
原創C++11改進我們的程序之簡化我們的程序(五)

這次要講的是:c++11中的bind和function std::function 它是函數、函數對象、函數指針、和成員函數的包裝器,可以容納任何類型的函數對象,函數指針,引用函數,成員函數的指針。以統一的方式處理函數、函數對象、函數指針、和成員函數。允許保存和延遲執行函數。 函數 ...

Thu Sep 05 05:44:00 CST 2013 2 9005
原創C++11改進我們的程序之簡化我們的程序(七)

這次要講的內容是:c++11中的tuple(元組)。tuple看似簡單,其實它是簡約而不簡單,可以說它是c++11中一個既簡單又復雜的東東,關於它簡單的一面是它很容易使用,復雜的一面是它內部隱藏了太多細節,要揭開它神秘的面紗時又比較困難。   tuple是一個固定大小的不同類型值的集合,是泛化 ...

Fri Sep 13 06:30:00 CST 2013 7 18676
(原創)c++11改進我們的程序之垃圾回收

  c#和java中有自動垃圾回收機制,.net運行時和java虛擬機可以管理分配的堆內存,在對象失去引用時自動回收,因此在c#和jva中, 內存管理不是大問題。c++語言沒有垃圾回收機制,必須自己去釋放分配的堆內存,否則就會內存泄露。  我相信大部分c++開發人員都遇到過內存泄露的問題,而查找 ...

Mon Aug 26 23:50:00 CST 2013 6 6888
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM