原创 X265源碼解析1-Encode方法

int Encoder::encode(const x265_picture* pic_in, x265_picture* pic_out) Frame *inFrame;         x265_param* p = (m_recon

原创 迭代器模式C++實現

#pragma once #include"Book.h" #include<vector> class BookShelf { private:     std::vector<Book> books; public:     clas

原创 C++內部類訪問外部類

採用如下的方式訪問外部類: // OperatorTest.cpp : 此文件包含 "main" 函數。程序執行將在此處開始並結束。 // #include <iostream> #include<vector> using namesp

原创 組合模式

儘量用組合少用繼承 點贊 收藏 分享

原创 外觀模式

外觀模式(Facade Pattern)隱藏系統的複雜性,並想客戶端提供了一個客戶端可以訪問系統的接口。這種類型的設計結構型,隱藏系統的複雜性。 1.創建一個接口 public interface Shape{   void draw()

原创 備忘錄模式

備忘錄模式保存一個對象的某個狀態,以便在適當的時候恢復對象。備忘錄模式屬於行文模式。 主要解決:所謂的備忘錄模式就是在不破壞封裝的前提下,捕獲一個對象的內部狀態,並在對象之外保存這個狀態,可以在以後將對象恢復到保存的狀態。 實現:    

原创 代理模式

代理模式的定義是:給某一個對象提供一個代理,並有代理對象控制對原對象的應用 代理模式包含 如下角色: ISubject:抽象主題角色,是一個接口。該接口是對象和它的代理共用的接口 RealSubject:真實的主題角色,是實現抽象主題接口

原创 橋接模式

橋接模式:用於把抽象化與實現化解耦,使得二者可以獨立變換。這種涉及模式屬於結構型模式,通過抽象化與實現化之間的橋接結構,實現二者的解耦。 1.先定義Implementor接口的,代碼如下: public interface Impleme

原创 策略模式

在策略模式中,一個類的行爲或其算法可以在運行時更改。這種類型的設計模式屬於行爲模式。在策略模式中,我們創建表示各種策略的對象和一個行爲隨着策略對象改變而改變的context對象。 使用場景:1.如果一個系統裏面有許多類,他們之間的區別在於

原创 觀察者模式

觀察者模式:當對象存在一對多關係時,則使用觀察者模式。比如,當一個對象被修改是,則會自動通知它的依賴對象。 實現: 觀察者模式使用三個類Subject、Obsever和Client。Subject對象帶有綁定觀察者到Client對象和從C

原创 解釋器模式

解釋器模式(Interpret pattern)提供了評估語言的語法或表達式的方式,它屬於行爲型模式。這種解釋器使用該標示來解釋語言中的句子。 主要解決:對於一些固定文法構建一個接收句子的解釋器。 使用場景:1.可以將一個需要解釋執行的語

原创 中介者模式

用來降低多個對象和類之間的通信複雜性。這種模式提供了一箇中介類,該類通常處理不同類之間的通信,並支持鬆耦合,使代碼易於維護。

原创 模板方法

在模板方法中,一個抽象類公開定義了執行它的方法的方式/模板。它的子類可以按需要重新方法實現,但調用將以抽象類中定義的方式進行。屬於行爲模式。

原创 AbstractListView源碼分析9

/**      * Acts upon click      */     private AbsListView.PerformClick mPerformClick; 表示upon click     /**      * Dela

原创 AbstractListView源碼分析3

 /**      * Normal list that does not indicate choices      */     public static final int CHOICE_MODE_NONE = 0;     /*