原创 Matlab命令模式(Command)

命令模式(Command)將命令封裝爲對象,實現命令發送者和命令接收者的解耦。線程池、MVC框架用到了命令模式,本文根據以下類圖,用matlab實現命令模式。 Invoker.m (傳遞命令對象Invoker:持有命令對象,要求命令對象

原创 Matlab適配器模式(Adapter)

適配器模式是連接兩個不兼容接口的橋樑,主要分爲三種:類適配器、對象適配器以及接口適配器,本文根據https://blog.csdn.net/u012359453/article/details/79165080所給的例子使用matlab語

原创 Matlab責任鏈模式(Chain)

責任鏈模式(Chain of Responsibility Pattern)爲請求創建了一個接收者對象的鏈。這種模式給予請求的類型,對請求的發送者和接收者進行解耦,本人根據https://www.runoob.com/design-pat

原创 Matlab建造者模式(Builder)

創建者模式又叫建造者模式(Builder),是將一個複雜的對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。創建者模式隱藏了複雜對象的創建過程,它把複雜對象的創建過程加以抽象,通過子類繼承或者重載的方式,動態的創建具有複合屬

原创 Matlab策略模式(Strategy)

策略模式的意圖是定義一系列算法,把它們一個一個封裝起來,並且使它們可以互相替換。通常每個策略算法不可抽象再分。本人仿照https://www.runoob.com/design-pattern/strategy-pattern.html所

原创 Matlab工廠模式(Factory)

工廠模式定義一個用於創建對象的接口,讓子類決定實例化哪一個類,工廠方法使一個類的實例化延遲到其子類。工廠模式主要分爲簡單工廠模式、工廠方法模式以及抽象工廠模式。 Obj.m classdef Obj < handle metho

原创 Matlab狀態模式(State)

狀態模式就是將狀態的條件判斷語句轉化成其函數重寫形式,利用了面嚮對象語言的多態性,本文根據https://blog.csdn.net/lm324114/article/details/78819602的情景將狀態模式用Matlab語言實現

原创 Matlab觀察者模式(Observer)

要點: 1、服務端(Subject)維護一個觀察者的列表,以便能夠向所有的觀察者(Observer)推送信息 2、觀察者可以獲取服務端的狀態 3、服務端和觀察者可抽象,可以有多個不同實現 Subject.m classdef Subje

原创 matlab對象數組元素擴展性能對比

對象:A.m classdef A properties aa end methods function obj=A(a) obj.aa=a;

原创 Matlab裝飾模式(Decorator Pattern)

根據https://www.runoob.com/design-pattern/decorator-pattern.html所給的例子,本人用Matlab語言寫了裝飾器模式 Shape.m classdef Shape < handle

原创 Matlab模板模式(Template)

由於不同的數據庫SQL語法存在差異,在替換數據庫時需要更改程序大量的SQL語句,而模板模式能夠將零散的並且隨數據庫變化的SQL語句提取出來,提高了軟件的可移植性和兼容性,本文依據http://www.w3school.com.cn/sql

原创 matlab單例模式(Singleton)

要點 1、構造方法是私有的,外部程序無法直接訪問其構造方法 2、獲取對象實例方法是靜態的,matlab沒有靜態變量,所以使用persistent變量保存這個類的唯一實例對象 SingletonClass.m classdef Singl

原创 matlab函數裝飾器

仿照python的裝飾器https://www.runoob.com/w3cnote/python-func-decorators.html,本人寫了一個matlab的裝飾器: info.m function result_func=

原创 自制能在Java運行的matlab命令行小工具

隨着matlab版本的更新,matlab的安裝包越來越大。matlab Runtime能夠在脫離matlab下運行matlab腳本,但是必須經過打包後才能運行,如果需要在matlab運行時的環境下觀察一行指令的含義就會變的非常困難,所以可

原创 SQLAlchemy踩過的坑

SQLAlchemy的類繼承、抽象類 https://www.jianshu.com/p/b3cc2fd97b7a ON DUPLICATE KEY UPDATE in the SQL statement https://www.e-l