网站系统前端 40%
不要和DOM 奋战了,拥抱MVVM(简单来说就是资料的变化会反映到Html View的变化)由于网站美工常用Booststrap搭配Jquery推荐用VueJs因为和Booststrap及Jquery的PlugIn容易整合
中间层 20%
例如:ASP.NET MVC、JAVA Spring当作MVC、Routing,资料抛转就好商务逻辑尽量不要写在这裏原因是资料皆从资料库来,写在这里将资料库拉到这里,只是将事情複杂化和增多太重物件导向是否是错误
资料库层 40%
例如:MS SQL商务逻辑尽可能写在这,因为商务资料也在这商务逻辑由于写在DB层,过滤条件便须往后传到SP,但并不是所有参数皆有值,如何处理参考如下SP过滤条件範例善用Sql表达式(Expression)的特性,尽量少用程序语言的写法为每个资料表建立系统编号(uuid)善用uuid当作外来键的参考,取得其他相关资料表内容取得资料表格结构说明取得SP内容
DECLARE @spList varchar(max), @SpName varchar(500), @sourceSP nvarchar(max), @olddelim nvarchar(32) = char(13) + Char(10), @newdelim nchar(1) = NCHAR(9999) Declare @Result Table (no int identity(1,1) ,content nvarchar(500))Set @spList= 'SPName1,' --SP1Set @spList += 'SPName2,' --SP2 DECLARE SPFile_cursor CURSOR FOR SELECT value FROM STRING_SPLIT(@spList, ',') WHERE RTRIM(value) <> '' OPEN SPFile_cursor FETCH NEXT FROM SPFile_cursor INTO @SpName WHILE @@FETCH_STATUS = 0 BEGIN Set @sourceSP = '' SELECT @sourceSP = OBJECT_DEFINITION(OBJECT_ID) FROM sys.sql_modules where OBJECT_NAME(OBJECT_ID) = @SpName Insert into @Result (content) SELECT value FROM STRING_SPLIT(REPLACE(@sourceSP, @olddelim, @newdelim), @newdelim); FETCH NEXT FROM SPFile_cursor INTO @SpName EndCLOSE SPFile_cursor DEALLOCATE SPFile_cursor Select content From @Result order by no