zoukankan      html  css  js  c++  java
  • 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.
    
  • 相关阅读:
    C++高精度运算类bign (重载操作符)
    Spring4.0支持Groovy配置
    统计Oracle数据库文件的大小
    ThinkPHP pdo连接Oracle的配置写法,提示报错
    【PHP缩略图类】手机照片不能生成缩略图问题以及解决方式
    ping and traceroute(tracert)
    HDU-1053-Entropy(Huffman编码)
    Python学习之四【变量】
    linux mysql
    xorm
  • 原文地址:https://www.cnblogs.com/deerchao/p/716135.html
Copyright © 2011-2022 走看看