Rafy 框架作者。(https://github.com/zgynhqf/rafy) 专注于:领域驱动设计、面向服务架构、插件化架构、模型驱动架构、产品线工程、快速界面生成。
写递归方法的时候,重中之重,就是这个方法的定义一定要在所有代码之前规定好。 这个接口的定义在这里起了关键性的作用。
前三十篇随笔是原来随便在txt中乱写的,现在把它们转到博客园上来。 以后就在博客园上写文章了。不再使用txt,哈哈。
http://www.itstrike.cn/Home/Article/.NET4-System.Threading.Barrier-Class-Descriptionhttp://www.itstrike.
在写的代码的时候,不应该想当然的认为代码是可维护性强的,语义明了的。不如这样想:不做这个程序两年后,回过头来看看自己写过的这些程序,是否还能修改自如?(其实这也是考虑一下别人来接手这个程序,是否能清楚的看明白是一个道理。)
写法一:if(a){}else if(b){} 写法二:if(a){}else{ if(b){ }} 以上两种写法,语义上是有很大的区别的:第一种表明a和b两个同级的判断,而第二种则表明a和b的层级关系。
Array T[] IList IList它们之间的关系如下T[] : Array, IList, ICollection, IEnumerable --这层的关系比较隐含Array : ICloneable, IList, ICollection, IEnumerable 如下:typeof(string[]).
工程不同于文件夹,工程之间是不能双向依赖的。利用这点,我们可以在做程序的时候,多利用工程,少利用文件夹。这样就可以做到,在这些工程里面编写代码的开发人员,被会强制不能乱引用类而造成双向的依赖。
目前GIX4工程中使用的界面是根据业务逻辑的类自动生成的。而这些业务逻辑类,同时包含了表示层的生成信息,也包含了数据库的映射信息。在重构的时候,可以优先考虑把这些分离开。
大致思想参见《20090522》。今天和陈伟强聊了一晚上的ORM的问题,说了一下我想要的ORM是什么样的。然后最后的收获是:目前的ORM框架已经十分的高功能,所以想要在这上面达到“任意”映射的功能,只要在partial类中加入新的属性和方法(添加),然后再为模型定义一个接口(减少),就行了。
对于写程序讲究速度的人来说的一个小问题,示例如下:(原方法)void Method(Object arg){ string name = arg.ToString();} (新方法)void Method(Object arg){ if(arg == null) throw new ArgumentNullException(); string name = arg.ToString();} 这里应该执行对参数arg的显示判断并抛出异常。
框架的设计和API的设计,同样应该有客户服务意识,焦点在外。这时,可以使用TDD的方式先对API的设计进行规定,比较方便程序员间交流。到后期也可用于测试。
Add-In,也叫Plug-In,可以在程序编译完成后,嵌入到程序当中的一些模块。在.net环境下实现这个功能,命名空间为:System.AddIn。主要是分为七个部分:Host of application, Host views of Add-In,Host-side adapters,Contract,Add-In-side adapters, Add-In views,Add-In。
在Glodon已经工作一个多月了,今天参加了新员工的培训,前面培训了管理五环( :(,虽然没过…… )GCS和“广联达之道”。这些员工培训的内容,都主要是针动态度和方法的。其间,结合软件和建筑行业的相关知识,我自己也想了很多东西,我现在把我在课程上想到的内容记下来。
现在我先就目前思考的方法论进行一个小的总结:Tree-ThinkingCS目标制定: WWH、Smart-C、SWOT做事方案: 分析客户》分析目标》明确目标》行动策划》组织实施》过程督导》结果考评 Tree-ThinkingWhat:跟“分而治之”差不多。
其实架构师了解越多的框架自然是很好,系统架构会更有余力。不过同时,一个固有团队只会了解有限的几个主要框架,其适应新框架的时间,与这个团队技术水平成反比。所以,在使用时,架构师必须考虑团队的作战能力。(其实,这一点,也是昨天说的,应该选择合适项目的架构。这里,团队的适应度,也是考虑的因素之一。)
今天华明给我和伟斯这两个新员工讲了一些建设领域的相关知识,主要是讲指标。讲的时候,做了点小笔记,如下:1.工程价算法有以下四种:估算、概算、结算。2.工程的划分、统计等建设领域的活动,按照树型结构划分,如下: 工程 单项 单位 分部分项 清单(人材机 等属性) 定额(人材机 等属性) 其中,我理解的单位是一个可以直接施工并进行预算的足够小的单元。
今天开了个技术会,主要由于我、智哥、孟伟斯都不了解城建系统的架构及使用框架的具体细节,周哥和大家一直规划了下未来一个月需要讲到的技术。其间谈到使用CSLA的 好处。 在技术会前,我认为csla这个框架是一个很一般的框架。
要成为一个特定平台下的架构师,精通该平台下的各种框架是不可或缺的。因为只有熟悉各种框架,才能在为一个新项目做架构时,灵活组合各种框架,以尽快搭建出符合项目需求的架构。也只有熟悉各种框架的设计,才能编写出更好的类库及框架。
http://v.youku.com/v_show/id_XODk2OTkyMjg=.html 马云 精彩演讲 不懂财务,犯的错误…… 不好的制度会把员工变坏。小公司也要制度!! 人要的是经历。
在易车工作了近两个月(从7月10号到9月5号),一共做了两个web项目。两个项目各自用的时间都差不多。其中开发人员就两人,我和李淳。现在来总结下这两个月开发的经验。 第一个项目是新闻评论的改版。
广联达之道: 坚持自己的信念(蛮重点的) 人的需求,由低到高分为3个层次:生理:生存、安全;心理:交际、尊重;成就:自我实现。 人字模型:上:使命、愿景;左:方法、技能;右:态度(经营之道);下:制度、行为规范(经营方略)。
最近想通的一个道理 人就是这样,简单的道理明白,不过就是很难朝那个道理去做。最后的结果就是错误。所以,人很多时候要需要逼自己的。
10k的面试中遇到的一个Sql Question,当时没有做完整,后来回到易车工作的时候又遇到这个问题,结果同事都没做出来。 问题:表:Category: ID NameItems: ID CateID Name获取某个Category中的第一个item,显示其及其category的内容 最后的解决方案:select c.
今天看了公司(易车)原来团队开发的部分项目的代码,发现很多项目是基于Typed DataSet或NetTiers的,两者都是代码生成器(Code Generator,以下简称CG),前者是VS自带的工具,而后者则是第三方开发,同样的还有CodeSmith、动软等。
当周围有特殊一点的情况发生时,其实就包含着不少的商机.此时应该多加思考.不过,此时应该多考虑下是否会有哪些阻碍因素.(类似SWOT分析)例如: 08年雪灾->南方停电->卖蜡烛 发电机 汽油(发电用) 09年日食->日食镜(阻碍:可能会有阴天.
OOD:在设计一个比较复杂的功能时,有可能会使用到接口作为设计元素。而一系列接口的合作就完成这个功能,这个“合作”可以是具体的类来实施。此时,此功能的实现,应该先定义好每个接口,然后直接开始“合作”的实现。即应该是接口》合作》接口实现,而不是接口》接口实现》合作。
数组并不满足OO的替换……(同样的东西还有struct等) protected override void OnLoad(EventArgs e) { base.OnLoad(e); Son[] sons = new Son[5]; Fat...
An application raises events that can be handled by custom modules that implement the IHttpModule interface or by event handler code that is defined in the Global.
读了《DDDQ》的Service后,发现其理论与当初(大概200808-200812)设计591jj架构时的service竟不谋而合!其讲解简直就是591jj中service的全面解释!DDDQ的主要内容第三章MDD,其所述知识,竟也和《PEAA》中的ORM理论大同小异。
帮助记忆五级范式: 一级范式: 消除每个表格中重复的组。 为每套相关的数据建立一个独立的表格。 使用一个主键来标识每套相关的数据。 二级范式: 为应用在多条记录的字段建立独立的表格。
这个文档不应该只是文字,而是应该包含所有需求工作中所画的图。如:用例图。而其中的文字描述则不应该以用例的形式来划分,而是先根据模块来划分,再尽量把每一件事叙述清楚。如果使用《模块->角色->用例》来划分,则关注点变成了用例。所以建议使用《模块->子模块->业务流程》来进行划分。
在一个网站的构建过程中,定义这个网站的站点目录相当重要,对应代码来说就是确定一个IUrl接口。这个接口的方法说明了这个网站有哪些页面,这些页面分别对外是以什么形式公布接口调用。
接口大致有如下用途: 1.需求描述 在项目架构设计阶段,应该基于需求分析,建立所有业务逻辑层及其以上的重要接口。 包括IModel(模型,符合OO设计),IModelQueryer(查询方法集,包含查询用例、上层使用的查询方法),IService(用例服务)。
这个问题困惑我已经很久了,从开始学习。NET到现在……写三层的时候,遇到这样的情况怎么办?User{ int UserId, String UserName}Article{ int Id, int UserId,//作者ID String Title,} 现在有个表格要显示如下两列:ArticleTitle,UserName其中每一行对应每一篇文章。
虽然本人主要学的是.net,不过可恶的学校非逼着学JSP,学不会不给过,真是让人烦恼。 今天在写JSP的时候,突然想利用MS的AJAX框架配合SERVLET在JSP里实现AJAX效果。
学习程序开发已经两年多了,一直都没有写博客的习惯。 第一天刚到这里,以后会在这里发发自己学习.NET的心得体会。 写这个主要是想做个记号。嘿嘿。