随笔分类 - 编程
摘要:我的BO 1 "我的BO之强类型" 2 "我的BO之数据保护" 3 我的BO之状态控制 4 "我的BO之导航属性" MIS常有状态 信息管理系统(MIS)常常有流程,一个流程由多个环节构成,不同的环节的流转通过状态控制。比如简单的购物流程: 对应着这样的状态: 结合起来就是状态图: 状态的控制在MI
阅读全文
摘要:我的BO 1 "我的BO之强类型" 2 我的BO之数据保护 3 "我的BO之状态控制" 4 "我的BO之导航属性" 数据保护指什么 软件的运行离不开数据,数据一般存在对象中。这种对象在 Java 统称为 POJO,在 C 则为 POCO。若 POJO 的 都是可读写的( 的 /`set`),没有方法
阅读全文
摘要:我的BO 1 我的BO之强类型 2 "我的BO之数据保护" 3 "我的BO之状态控制" 4 "我的BO之导航属性" 弱类型的缺点 有些程序员对类型比较随意,从前端传来的数据,不管应该是什么类型,都以 接收。然后在什么地方转成应该有的类型则要“看心情”,在Controller, Service, DA
阅读全文
摘要:从一些网站下载的文件,文件名带有广告,典型的就是网站的名称和域名,搞得文件名很长。在一些场景下,广告看得见,真正的文件名却被...了。在以前,我是遇到就手工去掉广告,但一是麻烦,二是效率低。反正经常下载的就那么几个网站,需要一款小工具来自动化处理。 常用Windows,所以批处理是首选,而且改名这种
阅读全文
摘要:什么是美? 在理工科领域,简单就是美。计算机软件领域也是一样。简单意味着易理解,不容易出Bug。 从0开始的数组下标 在计算机编程中数组的下标往往是从0开始,而老百姓熟悉的是从1开始的数字。按道理从1开始更自然更容易接受,也就意味着简单,可为什么多数的编程语言的数组是从零开始的呢?这个可不仅仅是习惯
阅读全文
摘要:管理信息系统(MIS)设计开发时尽量只使用以下7种基本数据类型: 类型 C# Java MySQL Oracle Boolean bool Boolean bit(1) Number(1) Byte byte Byte - - Integer int Integer int(11) Number(1
阅读全文
摘要:现在以网页发布的软件非常普遍,叫BS模式。前后端分离也是大趋势,或者说逐渐普及开来,深受前后端程序员的喜爱,我还是习惯以程序员来泛称所有软件制作者。后端需要把数据传送给前端,往往是通过DTO的序列化来实现的,而不是直接产生json或xml格式的数据。这里不说为什么要用DTO,只说探讨一个问题,不同的
阅读全文
摘要:注解与配置 Java的注解(Annotation)在.NET叫自定义属性(Custom Attribute),在本文使用注解这个名指代这两个本质上是相同的东西。 配置,是影响程序行为的参数,一般放在与程序相对独立的文件中,在以前通常是ini文件,在现在通常是xml文件,也有放在数据库中的。 理论上讲
阅读全文
摘要:下划线的作用 上一篇 "大小写规则" 写了大小写的规则,貌似没有下划线什么事。But,下划线不是摆设,是有其独有的作用的。 咱们把大写字母当作一个单词的开始,它就起到了单词间的分隔符的作用。当我们需要一个更大级别的分隔符的时候,下划线起到了这种作用。 举个例子 btn 和 finish 先结合成 b
阅读全文
摘要:关于大小写,我的理想规则是这样的: 1. 创建时 记住 大小写 2. 查询时筛选条件 忽略 大小写,查询结果大小写与创建时一致。 说明 规则可以简记为“写敏感,读不敏感" 用在数据库表、字段等各种对象的命名,用在文件名等场合。不用在编程中的变量、函数等的命名。 Oracle 符合1时(默认)不符合2
阅读全文
摘要:DOS批处理中的编码很有意思。&是命令连接符,先执行&左边的命令,再执行&右边的命令。|是管道操作,把左边的输出当作右边的输入。此外还有&&和||,当要表示这些特殊的字符本身的时候,得在左边加^号,如用^&表示&本身,而不是命令连接符。^^表示^。 我有一个批处理myfor.bat, 可以重复N次执
阅读全文
摘要:特别说明: LocalDateTime 为日期时间的计算提供了很大的方便, 在构造对象/运算/toString等方便都非常便利。 3个常用的类: 推荐多使用 LocalDateTime 常用表达式:现在: LocalDateTime now = LocalDateTime.now(); 今天: Lo
阅读全文
摘要:之前,调用第3方服务,每个方法都差不多“长”这样, 写起来啰嗦, 改起来麻烦, 还容易改漏。 我经过学习和提取封装, 将try ... catch ... catch .. 提取为公用, 得到这2个方法: 现在用起来是如此简洁。像这种无返回值的: 还有这种有返回值的: 这是我的第一篇Java文章。学
阅读全文
摘要:今天发现它真的是一个问题。 拿我最喜欢的Oracle来说吧。一般情况下,建表不管大小写,建完表名、字段名总是大写的,这样你不得不在单词之间加下划线,从而增加了字段名长度,有时就超长了。在select的结果中显示也不美观。Oracle也支持以双引号括起来的字段名,不过,你可要注意啦,用"Ok"建的字段
阅读全文
摘要:情节故事得有情节,不喜欢情节的朋友可看第1版代码,然后直接跳至“三.想要链式写法” 一.起缘 故事缘于一位朋友的一道题: 朋友四人玩LOL游戏。第一局,分别选择位置:中单,上单,ADC,辅助;第二局新加入的伙伴要选上单,四人可选位置变为:中单,打野,ADC,辅助;要求,第二局四人每人不得选择和第一局
阅读全文
摘要:C#的TimeSpan表示一段时间,DateTime表示一个时间点。TimeSpan可正可负,可与DateTime相加减,很方便,我喜欢。 代码中我们经常要表示一段时间,用一个统一的单位(时 或者 分 或者 秒),不是单位太大,就是太小,往往较不便。TimeSpan支持从string Parse,使
阅读全文
摘要:所有的文本框,不管单行多行都Ctrl-A全选就好了吧?是啊,很方便。Windows的软件基本都是这样。可为什么我们自己制作的WinForm就默认不是这样呢?谁知道呢,可能是WinForm饱受诟病,要改变一下,不想再封装太多默认功能吧。反正程序员自己加这点功能也不难。 好了,以上是YY。接下来正式开始
阅读全文
摘要:用着.NET Framework,发现了CodeDom的先天性缺陷,心里百般难受。 不知道 CodeDom 是什么的请看这里 CodeDom_百度百科 这里有CodeDom非常全的中文教程 CodeDOM - 随笔分类 - lichdr - 博客园 首先说,CodeDom的思想非常好,把代码当作研究
阅读全文
摘要:为了在单元测试中指定DateTime.Now的值,我采用Microsoft Fakes技术的Shim。 主要参考了园里的http://www.cnblogs.com/FreeDong/p/3353111.html,编译时出了几千个警告,最终在“引用”中没有出现System.4.0.0.0.Fakes
阅读全文