`
文章列表
现在中午不睡一会儿就头晕。前一篇有人留言说为什么不写web.config?我个人非常反对庞大的web.config文件,可能其根源就在于互联星空系统的巨大的配置和它带来的混乱,自己实现一个小巧灵活的机制是我比较喜欢的,这样可以降低系统的侵入性,也可以方便我改成其他语言的版本。这里我们来给刚才的Resource类加一个壳,因为我们毕竟不能用绝对的Path去访问,我们需要一个通过类名就可以访问得到配置的方式。在加这个壳之前我们先规划一下配置文件,我们这里需要两种配置文件,一个是配置数据库连接的,一种是配置每个类的操作的,前边说过了,对输入和结果的映射在类的Attribute里完成,这样子配置每个类的 ...
昨天处于晕死状态,少写了一个组件,还需要一个组件用来专门管理Cache的,这里说道为什么要分这么多组件,其实这是习惯问题,很多人喜欢写一个很大的DLL,不过我比较喜欢拆分,小粒度的项目比较好管理和单独测试,把用单元测试验证好了的小组件凑起来调试和写成一个巨大的DLL慢慢一行行的追踪代码,肯定是前者更加舒心和满足懒汉的要求。之前说了,今天主要将实现Yourname.Config这个项目,这个项目用来管理所有的配置文件,把所有的配置文件Cache到内存,并且需要在配置文件更新的时候刷新内存中的配置数据。这里如何在内存存储这些配置文件是小问题,用HashTable就能解决了,Key用文件的Path,V ...
昨天处于晕死状态,少写了一个组件,还需要一个组件用来专门管理Cache的,这里说道为什么要分这么多组件,其实这是习惯问题,很多人喜欢写一个很大的DLL,不过我比较喜欢拆分,小粒度的项目比较好管理和单独测试,把用单元测试验证好了的小组件凑起来调试和写成一个巨大的DLL慢慢一行行的追踪代码,肯定是前者更加舒心和满足懒汉的要求。之前说了,今天主要将实现Yourname.Config这个项目,这个项目用来管理所有的配置文件,把所有的配置文件Cache到内存,并且需要在配置文件更新的时候刷新内存中的配置数据。这里如何在内存存储这些配置文件是小问题,用HashTable就能解决了,Key用文件的Path,V ...
1.微软的商业气氛相当的浓厚,微软所提供的能够具备参考价值的案例大都是商业案例,并且都是趋于实用化的,在之前的log里面提及架构设计的平衡问题,在这里我们研究微软所提供的Solusion的时候必须代入商务上的需求作为先导才能够理解为什么要这么设计。 JAVA社区里面开源的东西居多,学术气氛更加浓厚一些,并且Demo多是些更加纯粹一点的技术。2.JAVA的开源更加活跃一些,而.NET的社区里还常常见到俺如何保护俺的代码,虽然这些代码90%以上都是垃圾,而我比较喜欢把自己写的垃圾打包成砖头拿出来抛砖引玉。3.JAVA社区讨论的内容虽然国内还比不上国外,但是质量还是比较高了,常常讨论些比较深奥点的东西 ...
1.微软的商业气氛相当的浓厚,微软所提供的能够具备参考价值的案例大都是商业案例,并且都是趋于实用化的,在之前的log里面提及架构设计的平衡问题,在这里我们研究微软所提供的Solusion的时候必须代入商务上的需求作为先导才能够理解为什么要这么设计。 JAVA社区里面开源的东西居多,学术气氛更加浓厚一些,并且Demo多是些更加纯粹一点的技术。2.JAVA的开源更加活跃一些,而.NET的社区里还常常见到俺如何保护俺的代码,虽然这些代码90%以上都是垃圾,而我比较喜欢把自己写的垃圾打包成砖头拿出来抛砖引玉。3.JAVA社区讨论的内容虽然国内还比不上国外,但是质量还是比较高了,常常讨论些比较深奥点的东西 ...
昨夜一夜未睡,本来以为下班回家能倒下就打呼噜的,结果吃了晚饭后反而清醒起来了,于是决定把本打算明天写的部分提前。半夜三更不睡觉干嘛?出来假扮王祖贤阿根据前面的需求,我们发现需要将配置文件抽象出一个组件出来,缓存需要一个单独的组件,为了适应不同的数据库需要做成一个插件架构的,为不同数据库插入不同的处理组件,为了降低反射的成本还需要一个组件用来包含接口定义,主类就是一个Loader为数据处理组件提供一个加载启动的环境。这样子我们定义程序结构如下主项目Yourname.db配置Yourname.db.config接口Yourname.db.Interface数据组件插件Yourname.db.Exec ...
昨夜一夜未睡,本来以为下班回家能倒下就打呼噜的,结果吃了晚饭后反而清醒起来了,于是决定把本打算明天写的部分提前。半夜三更不睡觉干嘛?出来假扮王祖贤阿根据前面的需求,我们发现需要将配置文件抽象出一个组件出来,缓存需要一个单独的组件,为了适应不同的数据库需要做成一个插件架构的,为不同数据库插入不同的处理组件,为了降低反射的成本还需要一个组件用来包含接口定义,主类就是一个Loader为数据处理组件提供一个加载启动的环境。这样子我们定义程序结构如下主项目Yourname.db配置Yourname.db.config接口Yourname.db.Interface数据组件插件Yourname.db.Exec ...
这是手把手系列的第一篇,希望能够开门红,高手们可以离开了,菜鸟们请继续这里准备把一个类似ibaties的半自动ORM的设计和实现过程一步步地剖析出来,供菜鸟参考,功能很简单,甚至我只能用简陋来形容了,不过把一些关键 ...
这是手把手系列的第一篇,希望能够开门红,高手们可以离开了,菜鸟们请继续这里准备把一个类似ibaties的半自动ORM的设计和实现过程一步步地剖析出来,供菜鸟参考,功能很简单,甚至我只能用简陋来形容了,不过把一些关键 ...
本人最近未老先衰,看破红尘,对新技术的迷恋已经比不上20出头的小青年了,虽然自己奔三的历程才刚过半,就让我这个前浪死在沙滩上吧,决定将以往心得都写成教程,因为很多都是重复做出来的轮子,没有必要使用了,但是对新人来说不自己照着别人做一次轮子就学不会自己重新设计自己的方轮子,椭圆轮子,所以觉得自己的决定还是比较有意义
本人最近未老先衰,看破红尘,对新技术的迷恋已经比不上20出头的小青年了,虽然自己奔三的历程才刚过半,就让我这个前浪死在沙滩上吧,决定将以往心得都写成教程,因为很多都是重复做出来的轮子,没有必要使用了,但是对新人来说不自己照着别人做一次轮子就学不会自己重新设计自己的方轮子,椭圆轮子,所以觉得自己的决定还是比较有意义
这是很久前写好的文字,闲得无聊就发上来,几个月前的感想,上午一个群里的朋友的发问让我有了冲动把他发上来,虽然知道这里藏龙卧虎,但是直觉似乎观战的小菜更多,于是就老一次脸皮吧。说架构师那是和卤豆腐干一般越老的越香,归纳归纳无非于姜是老的辣,老辣的设计处处体现二字,中庸,附赠二字,和谐,很多朋友在开始做设计的时候喜欢用先进技术,于是才学会了3层架构于是就开始忙不跌的,4层,5层,直到某日在一群惊闻7层,开始以为在讨论网络问题,后来才发现某君在炫耀其精巧架构,大有不作成千层饼不罢休之势。第二个例子是插件架构,自从DNN出现以来,牛人们纷纷又把目光转向插件,说来惭愧,在下也曾迷惘其间。后逢高人点化,何谓 ...
这是很久前写好的文字,闲得无聊就发上来,几个月前的感想,上午一个群里的朋友的发问让我有了冲动把他发上来,虽然知道这里藏龙卧虎,但是直觉似乎观战的小菜更多,于是就老一次脸皮吧。说架构师那是和卤豆腐干一般越老的越香,归纳归纳无非于姜是老的辣,老辣的设计处处体现二字,中庸,附赠二字,和谐,很多朋友在开始做设计的时候喜欢用先进技术,于是才学会了3层架构于是就开始忙不跌的,4层,5层,直到某日在一群惊闻7层,开始以为在讨论网络问题,后来才发现某君在炫耀其精巧架构,大有不作成千层饼不罢休之势。第二个例子是插件架构,自从DNN出现以来,牛人们纷纷又把目光转向插件,说来惭愧,在下也曾迷惘其间。后逢高人点化,何谓 ...
最近从项目组单离出来开始在公司实施过程化管理,整个QA Office就我一个人,头头是我,兵兵也是我,是我是我,还是我。没有项目的多座大山压迫有了更多的时间出来思考,尽管会让上帝老人家笑个不停,但是我对此乐此不疲,笑不死他小样地...........在过程域,过程建模的圈圈套圈圈地密城里转悠造成的后遗症就是最近思维跳耀性太大,于是在看到麦当劳汉堡盒子上的M标记的时候猛然想到了ORM。所谓ORM,故名思意,O-R 之间最重要的Mapping。在前一段写到ORM和内存数据库的时候,有个激进的同志扬言最好不要Mapping,让对象尘归尘土归土,对象里来,就对象里去,当然这个想法固然是好的,不过,在规避 ...
最近从项目组单离出来开始在公司实施过程化管理,整个QA Office就我一个人,头头是我,兵兵也是我,是我是我,还是我。没有项目的多座大山压迫有了更多的时间出来思考,尽管会让上帝老人家笑个不停,但是我对此乐此不疲,笑不死他小样地...........在过程域,过程建模的圈圈套圈圈地密城里转悠造成的后遗症就是最近思维跳耀性太大,于是在看到麦当劳汉堡盒子上的M标记的时候猛然想到了ORM。所谓ORM,故名思意,O-R 之间最重要的Mapping。在前一段写到ORM和内存数据库的时候,有个激进的同志扬言最好不要Mapping,让对象尘归尘土归土,对象里来,就对象里去,当然这个想法固然是好的,不过,在规避 ...
Global site tag (gtag.js) - Google Analytics