框架 模組化Objection

2021-09-24 15:35:44 字數 2355 閱讀 2839

框架:模組化

實現原理:先定義乙個協議(protocol),然後通過objection來註冊這個協議對應的class,需要的時候,可以獲取該協議對應的object。對於使用方無需關心到底使用的是哪個class,反正該有的方法、屬性都有了(在協議中指定)。這樣就去除了對某個特定class的依賴。也就是通常所說的「面向介面程式設計」,因為我們無法直接獲得對應的class,所以必須要在協議裡定義好對外暴露的方法和屬性,然後該class也要實現該協議。

註冊模組、繫結介面對應的class

jsobjectionmodule 1. 新建乙個繼承於jsobjectionmodule的類,這個類像模組容器註冊此模組提供的物件。 2. 註冊需要過載兩個方法,+load和-configure,load是向模組容器註冊這個module類,configure是向容器註冊這個module提供的功能。

//

// protocols.h

// objectiontest

//#ifndef protocols_h

#define protocols_h

#import @protocol secondviewprotocol - (void)configurewithtag:(nsstring *)tag;

@end

#endif /* protocols_h */

//

// secondmodule.h

// objectiontest

//#import "jsobjectionmodule.h"

ns_assume_nonnull_begin

@inte***ce secondmodule : jsobjectionmodule

@end

ns_assume_nonnull_end

//// secondmodule.m

// objectiontest

////

#import "secondmodule.h"

#import "secondviewcontroller.h"

#import "protocols.h"

#import @implementation secondmodule

+ (void)load

- (void)configure

@end

//

// viewcontroller.h

// objectiontest

//#import @inte***ce viewcontroller : uiviewcontroller

@end

//// viewcontroller.m

// objectiontest

//#import "viewcontroller.h"

#import "protocols.h"

#import @inte***ce viewcontroller ()

@end

@implementation viewcontroller

- (void)viewdidload

- (void)buttonclickeddd

@end

//

// secondviewcontroller.h

// objectiontest

//#import ns_assume_nonnull_begin

@inte***ce secondviewcontroller : uiviewcontroller

@end

ns_assume_nonnull_end

//// secondviewcontroller.m

// objectiontest

//#import "secondviewcontroller.h"

#import "thirdvcviewcontroller.h"

#import "protocols.h"

@inte***ce secondviewcontroller ()@property (nonatomic,strong) uilabel * labell;

@property (nonatomic,copy) nsstring * labellstring;

@end

@implementation secondviewcontroller

- (void)configurewithtag:(nsstring *)tag

- (void)viewdidload

- (void)buttonclickeddd

@end

EasyModular 簡易模組化框架

easymodular是基於necore3.1的簡易模組化框架,開箱即用,1分鐘即可以搭建乙個簡單可用的模組化框架。元件nuget 是否必須 模組化核心庫 install package easymodular 介面文件 install package easymodular.swagger orm...

YII框架的模組化技術

一 模組的建立 利用yii的自動生成工具gii生成模組。1 訪問 lcoalhost web index.php?r gii 2 點選 module generator 下面的 start 4 填寫 module id 例如 article 解釋 模組唯一id,一般與模組入口名稱相同。5 點選 pr...

什麼是模組化?模組化的好處

1.高內聚低耦合,有利於團隊作戰,當專案很複雜的時候,將專案劃分為子模組分給不同的人開發,最後再組合在一起,這樣可以降低模組與模組之間的依賴關係體現低耦合,模組又有特定功能體現高內聚。2.可重用,方便維護,模組的特點就是有特定功能,當兩個專案都需要某種功能的時候,我們定義乙個特定的模組來實現該功能,...