• Some thoughts on my own O/R Mapping or Code Generation tools


    Code tells:
    Category
    	has_many Forums,
    	Name,
    	nSortOrder,
    
    Forum
    	belongs_to Category,
    	has_many Users as Moderators,
    	has_many! Threads,
    	has_many Posts,
    	has_one? Post as LastPost : Last of Posts on tPostOn,
    	Name,
    	Description?,
    	nTopics,
    	nPosts,
    	tLastPostOn?,
    	LastPostAuthor?,
    	nSortOrder,
    	canRead,
    	canReply,
    	canTopic,
    
    Thread
    	belongs_to Forum,
    	belongs_to User as Starter,
    	has_many! Posts,
    	has_one Post as LastPost : Last of Posts on tPostOn,
    	Subject,
    	tStartOn,
    	tLastReplyOn,
    	isLocked,
    	isSticky,
    
    Post
    	has_one User as Author,
    	belongs_to Thread,
    	AuthorName,
    	AuthorIp?,
    	AuthorEmail?,
    	Message max,
    	isHidingSmilies,
    	tPostOn,
    	tEditOn?,
    	EditedBy?,
    
    User
    	has_many! Threads,
    	has_many! Posts,
    	belongs_to UserGroup as Group,
    	external Id,
    	Name,
    	Phone : {PhoneNumber}
    	isUsingAvantar,
    	isUsingSignture,
    	Signature? 500,
    	nTopicsPerPage,
    	nPostsPerPage,
    	EmailSetting : EmailSettings (ShowEmail, HideEmailAllowForm, NoContact)
    	shouldShowSmilies,
    	shouldShowImages,
    	shouldShowImagesInSignature,
    	shouldShowSignatures,
    	ForumTheme,
    	nPosts,
    	tLastPostOn,
    
    Lengends
    	has_many! = could be paged;
    	? = could be null,
    	external = user asigned primary key
    	FieldName = string (255)
    	nFieldName = int
    	tFieldName = datetime
    	can/is/shouldFieldName = bool
    	: {ClassName} = ClassName (IConvertiable)
    	: (A, B, C) = Enum
    	FieldName 500 = string with length<=500
    	: Last/First/Top 100 of Collection on orderBy = no explaination needed
    	has_***, belongs_to = not properties but method, lazy loaded for ever
    
    version tracking:
    	+ for new field,
    	- for old field,
    	* for modified field, out dated line should not be deleted?
    
    code generating: 
    	both SQL and DAL, abstract BL(Entities included), skeleton for real BL
    
    why my own?
    	I know what will happen.
    	I know what is doable.
    	I write mine faster than learning others.
    
  • 相关阅读:
    JSON的一个例子(代码来源于网上)
    浅谈Event Flow、Process、Method及其Applications
    JS中object与constructor的分析
    浅谈for...in与for....of
    浅谈语言的过去与未来
    正则表达式的四个小应用
    初步了解DOM与BOM
    String Method的字符串变换的一个例子
    update 批量更新
    一个 Tomcat下两个项目。
  • 原文地址:https://www.cnblogs.com/deerchao/p/716135.html
Copyright © 2020-2023  润新知