-
當前位置:首頁 > 創(chuàng)意學院 > 營銷推廣 > 專題列表 > 正文
創(chuàng)造生成器(創(chuàng)造生成器下載)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關于創(chuàng)造生成器的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關鍵詞,就能返回你想要的內(nèi)容,有小程序、在線網(wǎng)頁版、PC客戶端和批量生成器
官網(wǎng):https://ai.de1919.com。
本文目錄:
如何制作二維碼生成器,給個詳細的過程,需要啥軟件
制作二維碼生成器的具體步驟如下:
1、首先打開微信,點擊打開微信發(fā)現(xiàn)中的“小程序”選項。
2、然后在上面的輸入框中輸入【二維碼生成器】,搜索二維碼生成器小程序,點擊搜索列表中的【二維碼生成器】小程序,如圖:
3、進入二維碼生成器首頁界面,點擊按鈕【生成二維碼】按鈕,如圖:
4、進入生成二維碼界面,在二維碼內(nèi)容下面輸入二維碼的文字內(nèi)容;然后跟實際需求調(diào)整容錯率和尺寸,點擊【生成二維碼】按鈕,文本類型的二維碼就生成啦,如圖:
5、然后點擊【保存到手機】,將生成的二維碼保存到手機上。
創(chuàng)建代碼生成器可以很簡單:如何通過T4模板生成代碼?[下篇]
但是這是一種基于單個文件的解決方案,即我們必須為每一個生成的存儲過程建立一個模板。如果我們提供一種基于多文件的代碼生成方式,將會為編程人員帶來極大的便利。借助于T4 ToolBox這個開源工具箱,多文件的SQL Generator的實現(xiàn)變得異常簡單。[文中的例子可以從這里下載]目錄二、創(chuàng)建自定義的Generator三、ProcedureGenerator如何被使用?一、多文件代碼生成器會帶來多大的便利?我們先來直觀的感受一下較之《上篇》提供的單一文件的代碼生成器,基于多文件的代碼生成解決方案會為開發(fā)人員帶來多大的便利。 同樣對于《上篇》創(chuàng)建的數(shù)據(jù)表T_PRODUCT,之前我們?yōu)榱松扇齻€不同的存儲過程,我們不得已需要創(chuàng)建3個不同的T4模板文件。實際上我們更需要的方式只需要創(chuàng)建一個T4模板,讓我們的SQL Generator自動為我們生成3個包含相應存儲過程的.sql附屬文件,如左圖所示(點擊看大圖)。有的時候,基于單個數(shù)據(jù)表的存儲過程生成方式我們依然覺得不方便。如果我們能夠在T4模板文件中指定的數(shù)據(jù)表的列表,讓我們的SQL Generator為列表的每一個數(shù)據(jù)表都生成CUD三個存儲過程,這樣的方式更加具有吸引力。如右圖所示(點擊看大圖),一個訂單模塊包含兩個具有主子關系的兩張表(T_ORDER和T_ORDER_DETAIL),現(xiàn)在我們在一個T4模板中指定這兩個表明,通過SQL Generator可以幫助我們生成6個包含存儲過程的.sql附屬文件。甚至有的時候我們連數(shù)據(jù)表列表都無需指定,讓SQL Generator為所有的表都生成相應的存儲過程。我的例子中沒有提供這樣的功能,但是實現(xiàn)自來不會存在任何問題。二、創(chuàng)建自定義的Generator在《上篇》中我創(chuàng)建了一個抽象的ProcedureTemplate類,以及三個基于生成CUD存儲過程的具體ProcedureTemplate:InsertProcedureTemplate、UpdateProcedureTemplate和DeleteProcedureTemplate。它們都將直接服務于我們今天將要提供的基于多文件的SQL Generator。在《上篇》中,這四個Template分別定義在4個不同的TT文件中,3個具體的ProcedureTemplate通過<#@include>指令將抽象ProcedureTemplate模板文件包含過來。由于我們將要創(chuàng)建的T4模板將會使用到這四個類,如果我們用四個<#@include>指令將四個TT文件包含過來,由于T4引擎將會導致對ProcedureTemplate的4次包含,最好將會導致變異問題。個人覺得這應該算是T4引擎解析包含關系的一個局限性,為了解決這個問題我們不得不抽象的ProcedureTemplate和三個具體的ProcedureTemplate都合并成一個TT文件。T4 ToolBox為類庫中為了提供了一個抽象的T4Toolbox.Generator類用于實現(xiàn)多文件的代碼生成。為此我們創(chuàng)建一個TT模板文件,定義了如下一個繼承自該類的ProcedureGenerator。ProcedureGenerator的核心是通過屬性Templates定義的類型為IEnumerable<ProcedureTemplate>的ProcedureTemplate列表,這個列表在存儲過程中進行初始化。而對于ProcedureGenerator的構(gòu)造函數(shù),處理定義了一個表示數(shù)據(jù)庫連接字符串的databaseName的參數(shù)外,并以數(shù)組參數(shù)的形式指定了生成的存儲過程基于的數(shù)據(jù)表名的列表。<#@ import namespace="System.Collections.Generic" #><#@ include file="ProcedureTemplate.tt" #><#@ include file="T4Toolbox.tt" #><#+publicclass ProcedureGenerator : Generator{public IEnumerable<ProcedureTemplate> Templates{get; private set;}public ProcedureGenerator(string databaseName, paramsstring[] tableNames) {if(null == tableNames || tableNames.Length == 0) {thrownew ArgumentNullException("tableNames"); } this.Templates = InitlizeTemplates(databaseName,tableNames); }private IEnumerable<ProcedureTemplate> InitlizeTemplates(string databaseName, string[] tableNames) { foreach(string tableName in tableNames) {yieldreturnnew InsertProcedureTemplate(databaseName, tableName);yieldreturnnew UpdateProcedureTemplate(databaseName, tableName);yieldreturnnew DeleteProcedureTemplate(databaseName, tableName); } }protectedoverridevoid RunCore() {foreach(ProcedureTemplate tempalte inthis.Templates) { tempalte.RenderToFile(tempalte.GetProcedureName() + ".sql"); } }}#>真正的存儲過程的T-SQL腳本實現(xiàn)在重寫的RunCore中。由于具體的文本轉(zhuǎn)化邏輯都定義在了ProcedureTemplate中了,所以在這里我們需要遍歷的ProcedureTemplate集合中每一個Template對象,調(diào)用RenderToFile方法將相應的存儲過程的腳本寫入以存儲過程命名同名的.sql文件中。三、ProcedureGenerator如何被使用?我們最后來看看我們創(chuàng)建的ProcedureGenerator最終如何被應用于具體的代碼生成。其實很簡單,我們只需要創(chuàng)建相應的模板文件,通過<#@include>將定義ProcedureGenerator類的TT文件包含近來,最后以代碼語句調(diào)用塊(<#StatementCode#>)的形式實力化該對象,并調(diào)用Run方法即可。在構(gòu)造函數(shù)中指定數(shù)據(jù)庫連接字符串的名稱和數(shù)據(jù)表名的列表。下面是基于但表的T4模板。<#@ template language="C#" hostSpecific="true" debug="true" #><#@ include file="Templates\ProcedureGenerator.tt" #><#new ProcedureGenerator("TestDb","T_PRODUCT").Run();#>下面是基于多表的T4模板:<#@ template language="C#" hostSpecific="true" debug="true" #><#@ include file="Templates\ProcedureGenerator.tt" #><#new ProcedureGenerator("TestDb","T_ORDER","T_ORDER_DETAIL").Run();#>當你代碼生成工作執(zhí)行之后,會多出一個與TT文件同名的附屬文件,你需要手工刪除掉它。從數(shù)據(jù)到代碼——通過代碼生成機制實現(xiàn)強類型編程[上篇]從數(shù)據(jù)到代碼——通過代碼生成機制實現(xiàn)強類型編程[下篇]從數(shù)據(jù)到代碼——基于T4的代碼生成方式包含什么語句的函數(shù)可以用來創(chuàng)建生成器
include 和 require當然都有 只引入一次的 ‘_once’的版本,不過不使用,因為效率較低
如果引入的文件不存在,include 會報警告,腳本繼續(xù)執(zhí)行,
require則會報致命錯誤,腳本停止
以上就是關于創(chuàng)造生成器相關問題的回答。希望能幫到你,如有更多相關問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
短視頻如何創(chuàng)造腳本教程(短視頻如何創(chuàng)造腳本教程下載)
logo的創(chuàng)造原理(logo的創(chuàng)作理念)
展現(xiàn)價值,推動銷售:如何通過裂變營銷方案創(chuàng)造一流的客戶體驗