寫框架思路程序(三)

2021-07-25 04:38:55 字數 1396 閱讀 3470

上篇說道,將會根據rpc框架結構,構建web mvc,那麼這裡先來了解rpc框架的大概結構:

對於我們的web mvc框架,舉例如下:

1、mvc.core專案,細分如下的包:

1.1、common:公共的一些元件,下面的各模組都會用到

1.2、config:配置模組,解決框架的配置問題

1.3、startup:啟動模組,解決框架和servlet如何進行整合的問題

1.4、plugin:外掛程式模組,外掛程式機器的實現,提供iplugin的抽象實現

1.5、routing:路由模組,解決請求路徑的解析問題,提供了iroute的抽象實現和基本實現

1.6、controller:控制器模組,解決的是如何產生控制器

1.7、model:檢視模型模組,解決的是如何產生繫結方法的引數

1.8、action:action模組,解決的是如何呼叫方法以及方法返回的結果,提供了iactionresult的抽象實現和基本實現

1.9、view:檢視模組,解決的是各種檢視引擎和框架的適配

1.10、filter:過濾器模組,解決的是執行action,返回actionresult前後的aop功能,提供了ifilter的抽象實現以及基本實現

2、mvc.extension專案,細分如下包: 

2.1、filters:一些ifilter的實現

2.2、results:一些iactionresult的實現

2.3、routes:一些iroute的實現

2.4、plugins:一些iplugin的實現

我們以i***來描述乙個抽象,可以是介面也可以是抽象類,在具體實現的時候根據需求再來確定。

這種結構的劃分方式完全吻合上面說的切蛋糕方式,可以看到除了橫切部分和分層部分,作為乙個web mvc框架,它核心的元件就是routing、model、view、controller、action(當然,對於有些mvc框架它沒有route部分,route部分是交由web框架實現的)。

如果我們在這個時候還無法確定框架的模組劃分的話,問題也不大,我們可以在後續的搭建龍骨的步驟中隨著更多的類的建立,繼續理清和確定模組的劃分。

經過了設計的步驟,我們應該心裡對下面的問題有乙個初步的規劃了:

1、我們的框架以什麼形式來提供如何優雅的api?

2、我們的框架包含哪些模組,模組大概的作用是什麼?

用PHP寫乙個框架的思路

在php的論壇中總是聽到有人對php的oop支援說三道四的,說這有缺陷,那裡不足,但是都拿不出實際的例子。原來說過要和大家說說這事,但是一直很忙,現在算是抽了些時間了,所以把我剛剛做過的乙個專案的框架拿出來和大家 一下。這個專案99 的 是用oop方式編寫的,感覺php對於oop支援非常好,不是一般...

go網路框架思路

主協程 負責接收客戶端的連線,放至連線通道中去。讀協程組 負責從連線通道中取連線,並讀到客戶端的資料,讀完後放至工作資料通道中去。包含客戶端的連線socket和讀到的資料 包含客戶端的連線socket和要返回的資料 寫協程組 負責從寫資料通道中拿寫資料,負返回給客戶端。如果是短連線就關閉socket...

寫jquery外掛程式的思路

不要覺得寫外掛程式很難,只是你把問題想的太複雜了,本文教你在10分鐘內搞定乙個簡單的外掛程式。其實就是把一些常用 實用 通用的功能封裝起來而以,簡單的來講就是把這些 放在乙個方法裡面,可以達到重複使用的效果,這樣就可以不需要每次要用此功能的時候都去重新寫一遍。1.先定義乙個外掛程式 function...