摘要:
这里讲的是OpenExpressApp的部署方案。主要使用的是ClickOnce作为实施方案来实现:智能部署和智能客户端。不过,这里的使用方式跟以往的不太一样…… 部署概述 OpenExpressApp中,界面是自动生成的。而框架使用者所开发的应用程序(以下简称客户程序),只需要按照特定的格式约定编写自己的业务逻辑模型类,然后与框架一同发布,就可以直接运行并显示出所有的界面... 阅读全文
摘要:
前三十篇随笔是原来随便在txt中乱写的,现在把它们转到博客园上来。 以后就在博客园上写文章了。不再使用txt,哈哈。 阅读全文
摘要:
http://www.itstrike.cn/Home/Article/.NET4-System.Threading.Barrier-Class-Descriptionhttp://www.itstrike.cn/Home/Article/.NET4-System.Threading.CountdownEvent-Introduction 阅读全文
摘要:
在写的代码的时候,不应该想当然的认为代码是可维护性强的,语义明了的。不如这样想:不做这个程序两年后,回过头来看看自己写过的这些程序,是否还能修改自如?(其实这也是考虑一下别人来接手这个程序,是否能清楚的看明白是一个道理。) 阅读全文
摘要:
写法一:if(a){}else if(b){} 写法二:if(a){}else{ if(b){ }} 以上两种写法,语义上是有很大的区别的:第一种表明a和b两个同级的判断,而第二种则表明a和b的层级关系。个人认为在很多情况下,为了语义的明郞,虽然else if只有一个简单的分支,也应该使用第二种。 阅读全文
摘要:
Array T[] IList IList<T>它们之间的关系如下T[] : Array, IList<T>, ICollection<T>, IEnumerable<T> --这层的关系比较隐含Array : ICloneable, IList, ICollection, IEnumerable 如下:typeof(string[]).GetIn... 阅读全文
摘要:
工程不同于文件夹,工程之间是不能双向依赖的。利用这点,我们可以在做程序的时候,多利用工程,少利用文件夹。这样就可以做到,在这些工程里面编写代码的开发人员,被会强制不能乱引用类而造成双向的依赖。 阅读全文
摘要:
目前GIX4工程中使用的界面是根据业务逻辑的类自动生成的。而这些业务逻辑类,同时包含了表示层的生成信息,也包含了数据库的映射信息。在重构的时候,可以优先考虑把这些分离开。 阅读全文
摘要:
学powershell有一个星期了吧,一直为这种批处理的运行模式烦恼。按照以下步骤操作后的效果是: 直接.ps1文件可以以管理员身份使用powershell.exe运行代码。 在.ps1文件上右键点edit,可以用PowerGUI进行开发。 1.安装PowerGUI。2.在安装目录下,打到exe,右键属性,设置为以管理员启动。3.(此步骤为开启UAC的系统使用)编译:PowerShellAgen... 阅读全文
摘要:
大致思想参见《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();} ... 阅读全文
摘要:
读书笔记和读后感 02 如何开始第一个工作 大企业,有很多好处。它与小企业的不同在于,小企业的竞争是对外的,而大企业的竞争则是来自于内部的。选择进入大企业的人,一定要有一个目标,多年后做到某个位置的目标。大企业适合喜欢跟同事竞争的人工作。 小企业,坏处是没有大企业的待遇好,不过可以学会更多的本领。 政府机关,如果选择到这里工作,那就是一个比较稳定的工作。在这里,如果比别人更勤奋的话,爬得也比别人... 阅读全文
摘要:
框架的设计和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。其中C... 阅读全文
摘要:
先说一下ClickOnce的使用方法:先给一个要发布的工程设置安全和签名。然后发布到iis中。当用户访问该iis目录下的.application文件时,就会自动安装整个应用程序。 再说一下我们目前的应用程序。相对还是比较复杂的,分为框架部分和特定应用程序部分。其中的框架部分,以后会作为开源框架发布。由于是AutoUI,框架部分就包含了生成最后客户端运行的exe的工程。而特定的应用程序只需要实现自... 阅读全文
摘要:
在Glodon已经工作一个多月了,今天参加了新员工的培训,前面培训了管理五环( :(,虽然没过…… )GCS和“广联达之道”。这些员工培训的内容,都主要是针动态度和方法的。其间,结合软件和建筑行业的相关知识,我自己也想了很多东西,我现在把我在课程上想到的内容记下来。 笔记:管理五环: 定义:是一种思想,完整的工作管理方法,是强化系统思考的工具,是结构... 阅读全文
摘要:
现在我先就目前思考的方法论进行一个小的总结:Tree-ThinkingCS目标制定: WWH、Smart-C、SWOT做事方案: 分析客户》分析目标》明确目标》行动策划》组织实施》过程督导》结果考评 Tree-ThinkingWhat:跟“分而治之”差不多。Why:人做事的能力是有限制的。一般人,最多同时处理7个横向或者纵向的划分。同时,一个复杂的事,不可能直接完成,而是... 阅读全文
摘要:
其实架构师了解越多的框架自然是很好,系统架构会更有余力。不过同时,一个固有团队只会了解有限的几个主要框架,其适应新框架的时间,与这个团队技术水平成反比。所以,在使用时,架构师必须考虑团队的作战能力。(其实,这一点,也是昨天说的,应该选择合适项目的架构。这里,团队的适应度,也是考虑的因素之一。) 阅读全文
摘要:
今天华明给我和伟斯这两个新员工讲了一些建设领域的相关知识,主要是讲指标。讲的时候,做了点小笔记,如下:1.工程价算法有以下四种:估算、概算、结算。2.工程的划分、统计等建设领域的活动,按照树型结构划分,如下: 工程 单项 单位 分部分项 清单(人材机 等属性) 定额(人材机 等属性) 其中,我理解的单位是一个可以直接施工并进行预算的足够小的单元。 后三级是划分方法规定了的,也就是说,任何单位指标下... 阅读全文
摘要:
今天开了个技术会,主要由于我、智哥、孟伟斯都不了解城建系统的架构及使用框架的具体细节,周哥和大家一直规划了下未来一个月需要讲到的技术。其间谈到使用CSLA的 好处。 在技术会前,我认为csla这个框架是一个很一般的框架。(所以周哥说,有些人会觉得这个框架不值一提,有些人又会觉得这个框架不错。)不过技术会上大家都对分布式系 统进行了讨论。让我对这个框架有了新的认识。以后,我会继续花一些时间来理解... 阅读全文
摘要:
要成为一个特定平台下的架构师,精通该平台下的各种框架是不可或缺的。因为只有熟悉各种框架,才能在为一个新项目做架构时,灵活组合各种框架,以尽快搭建出符合项目需求的架构。也只有熟悉各种框架的设计,才能编写出更好的类库及框架。框架是软件的半成品。特定的框架是针对软件中一个特定的部分的。如:Hibernate用于ORM、WPF用于表示层显示。也有一些框架是使用某种特定的架构模式进行构建的,使用这些框架,也... 阅读全文
摘要:
http://v.youku.com/v_show/id_XODk2OTkyMjg=.html 马云 精彩演讲 不懂财务,犯的错误…… 不好的制度会把员工变坏。小公司也要制度!! 人要的是经历。后悔的是回头想的时候,有些事没做。 No Business Plan??? 阅读全文
摘要:
在易车工作了近两个月(从7月10号到9月5号),一共做了两个web项目。两个项目各自用的时间都差不多。其中开发人员就两人,我和李淳。现在来总结下这两个月开发的经验。 第一个项目是新闻评论的改版。这个项目只是他们原有系统的一次改版和升级。老系统中的评论模块是只能对新闻进行评论。而这次系统的目标是做到能对许多“可评论”的东西进行评论。如:新闻、活动等……... 阅读全文
摘要:
编程时遇到对象关联API的设计问题,感觉可能这种api的设计方案本身就有问题,所以目前还未有解决方案。问题如下: using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace ConsoleApplication{ /// <summary> /// 在Not... 阅读全文
摘要:
广联达之道: 坚持自己的信念(蛮重点的) 人的需求,由低到高分为3个层次:生理:生存、安全;心理:交际、尊重;成就:自我实现。 人字模型:上:使命、愿景;左:方法、技能;右:态度(经营之道);下:制度、行为规范(经营方略)。 我们想做一个什么样的百年老店: 一个让英才向往的优秀公司(好雇主) 一个让用户依赖的合作伙伴(好伙伴) 一个让国人骄傲的软件企业(好个体/好企业) 核心价值观:真诚(对已,对... 阅读全文
摘要:
最近想通的一个道理 人就是这样,简单的道理明白,不过就是很难朝那个道理去做。最后的结果就是错误。所以,人很多时候要需要逼自己的。 阅读全文
摘要:
10k的面试中遇到的一个Sql Question,当时没有做完整,后来回到易车工作的时候又遇到这个问题,结果同事都没做出来。 问题:表:Category: ID NameItems: ID CateID Name获取某个Category中的第一个item,显示其及其category的内容 最后的解决方案:select c.ID cID, c.Name cName, i.ID iID, i.Na... 阅读全文
摘要:
今天看了公司(易车)原来团队开发的部分项目的代码,发现很多项目是基于Typed DataSet或NetTiers的,两者都是代码生成器(Code Generator,以下简称CG),前者是VS自带的工具,而后者则是第三方开发,同样的还有CodeSmith、动软等。这些CG的输入/信息来源,大都是数据库中的元数据。 其实,我个人也开发过CG。第一个是在上海外高桥实习时用于转换C语言到C#语言的转换... 阅读全文
摘要:
当周围有特殊一点的情况发生时,其实就包含着不少的商机.此时应该多加思考.不过,此时应该多考虑下是否会有哪些阻碍因素.(类似SWOT分析)例如: 08年雪灾->南方停电->卖蜡烛 发电机 汽油(发电用) 09年日食->日食镜(阻碍:可能会有阴天.) 阅读全文
摘要:
数组并不满足OO的替换……(同样的东西还有struct等) protected override void OnLoad(EventArgs e) { base.OnLoad(e); Son[] sons = new Son[5]; Father[] fathers = sons; TestMethod(fathers); } private void TestMethod... 阅读全文
摘要:
OOD:在设计一个比较复杂的功能时,有可能会使用到接口作为设计元素。而一系列接口的合作就完成这个功能,这个“合作”可以是具体的类来实施。此时,此功能的实现,应该先定义好每个接口,然后直接开始“合作”的实现。即应该是接口》合作》接口实现,而不是接口》接口实现》合作。 阅读全文
摘要:
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.asax file. 阅读全文
摘要:
/// <summary>/// 一个不错的Linq问题/// </summary>private void LinqQuestion(){ JZDataContext db = new JZDataContext(); TextWriter log = new StringWriter(); db.Log = log; IEnumerable<A_User> ... 阅读全文
摘要:
读了《DDDQ》的Service后,发现其理论与当初(大概200808-200812)设计591jj架构时的service竟不谋而合!其讲解简直就是591jj中service的全面解释!DDDQ的主要内容第三章MDD,其所述知识,竟也和《PEAA》中的ORM理论大同小异。 所以若有人想自己学习591jj的架构时,可以推荐他们先看《DDDQ》及《PEAA》两本书。 (虽然我当初设计其架构时,还没看... 阅读全文
摘要:
帮助记忆五级范式: 一级范式: 消除每个表格中重复的组。 为每套相关的数据建立一个独立的表格。 使用一个主键来标识每套相关的数据。 二级范式: 为应用在多条记录的字段建立独立的表格。 通过一个外键关联这些表格的值。 三级范式: 消除不信赖于该键的字段。 四级范式: 在一个多对多的关系中,独立的实体不能存放在同一个表格中。 五级范式: 原来的表格必须可以通过由它分离出去的表格重新构建。 阅读全文
摘要:
这个文档不应该只是文字,而是应该包含所有需求工作中所画的图。如:用例图。而其中的文字描述则不应该以用例的形式来划分,而是先根据模块来划分,再尽量把每一件事叙述清楚。如果使用《模块->角色->用例》来划分,则关注点变成了用例。所以建议使用《模块->子模块->业务流程》来进行划分。 阅读全文
摘要:
string strCityId = condition.CityId.ToString();string startChar = strCityId + ",";string endChar = "," + strCityId;string inChar = "," + strCityId + ','; var result = this.DAO.AllDatas.Where(u => ... 阅读全文
摘要:
领域建模的重要性 以数据为中心的应用程序开发,面向过程分析方法的核心在于对数据库的设计。 而现在以面向对象的方式进行分析(OOA,OOD)时,领域建模就替换了上述方法的地位。在建模的同时,对需求有一个很好梳理作用。也可以发现未捕获的需求及需求描述中错误的需求。(需求和领域建模,是相互促进的两个过程。) 如何建模 1.首先应该以画图的形式进行建模。 模型图中,主要是理清模型之间的关系:继承、关联(... 阅读全文
摘要:
在一个网站的构建过程中,定义这个网站的站点目录相当重要,对应代码来说就是确定一个IUrl接口。这个接口的方法说明了这个网站有哪些页面,这些页面分别对外是以什么形式公布接口调用。 阅读全文
摘要:
接口大致有如下用途: 1.需求描述 在项目架构设计阶段,应该基于需求分析,建立所有业务逻辑层及其以上的重要接口。 包括IModel(模型,符合OO设计),IModelQueryer(查询方法集,包含查询用例、上层使用的查询方法),IService(用例服务)。 好处在于,后期实现时,不用再去考虑应该如何实现需求。需求与实现的结合,是一个很繁琐的工作,使用这样的方法的话,这个繁琐的工作,在项目的早期... 阅读全文