随笔分类 - [20]DesignAnalysis设计分析
-
OEA体验:查询面板
摘要:一、摘要 在这里主要是写OEA设计方面的知识了。OEA 源码:OEA框架 2.9 Pre-Alpha 源码公布可以到BloodyAngel的博客和中可以下到。虽然现在应经知道使用了,但是还是 需要了解框架相关知识运行机制,让我们更好的使用OEA进行开发 OEA提供了自定义模板机制。我们这里主要是 实现简单的 查询面板二、本文大纲 a、摘要 。 b、远景 。 c、项目结构 。 d、OEA实现方法 。三、远景 圈圈里的就是我们要实现查询条件,这个条件也是比较通用的,我们只要做一次就可以在多个页面上使用这个功能了,爽吧,减少的重复劳动了。这个我们这里只用到了一个表的数据。四、项目结构用到的主要的类 阅读全文
-
Yb Software Factory 代码生成插件二次开发
摘要:YbSoftwareFactory,是一款使用.NET开发的软件代码智能快速生成平台,可方便、快速地生成各种应用程序代码。最新的2.0版支持插件式开发,可根据自身需要进行二次开发来生成能完全满足自身需要的任何代码。本系列将介绍了如何使用YbSoftwareFactory 2.0开发一套完全满足自身需求的代码生成插件的主要步骤和插件组成。一个代码生成插件主要由压缩文件、模板文件和一些实现了相应接口的类组成,典型的代码生成插件的项目目录结构如下:一、压缩文件存储一个解决方案中无需代码生成的公共组件、类、资源和图片等。这些文件可在代码生成前进行自解压操作。如你没有这方面的需求可不提供。二、模板文件使 阅读全文
-
ESFramework Demo -- 动态组及群聊Demo(附源码)
摘要:所谓“动态组”,就是在服务器内存中动态创建的组,不需要序列化存储到比如数据库或磁盘中,更像是一个临时的东西,需要的时候就创建一个,然后加入多个成员进行组内沟通,当不再使用的时候,就直接从内存中销毁了。在阅读本文之前,请务必先掌握ESFramework 开发手册(05) -- 好友与组一文中介绍的关于组关系的基础知识以及相关API的用法。 本Demo主要演示以下功能:(1)创建动态组(2)加入动态组(3)在组内广播消息。(群聊)(4)退出动态组(5)销毁动态组一.公共定义 对于一个C/S系统来说,客户端和服务端必需在某些定义上达成一致,比如信息类型的定义、协议类的定义等。DynamicGrou. 阅读全文
-
斯坦福大学的Gss Audio Codec 调试分析
摘要:这是在斯坦福大学的Greg Sell 和 Scott Cannon 在2005年冬天做的一个简单的音频编码器。性能经分析和MPEG1 层1层2差不多。码率基本控制在256~384kbps给出源代码和文章链接Gss Project Paper在线链接Gss Project Paper本地链接代码在线链接本地链接测试流在线链接测试流本地连接但是这个工程有些问题注意:1.decoder 在decoder.c加一行代码n = fread(&long_block , 1, sizeof(short), enc_fp);n = fread(&output_fp.info.srate , 1 阅读全文
-
领域驱动设计实践
摘要:生平做过无数次演讲和分享,最短10分钟,最长也不过3个小时。有时候我在想,连续讲3小时可能就是我的极限了吧,这种想法一直持续到2011年的冬天。江湖传言QCon大会要在2012这个多事之秋的4月举行。中国区掌门人在邀请我做QCon的“优化你的架构设计”主持人之后的某一天,不经意的对我说,老池,你来做个会后培训吧。事情就这么发生了,我在不经意的一天发现了这个分享要持续7个小时,当时颇有些崩溃。不过抱着我不入地狱谁入地狱的想法,下定决心,排除万难,对领域驱动设计进行了详细的梳理,终于完成了一个长达100页的Keynote,并且准备了一些案例。不过最终完成了这个分享之后,真是口看舌燥,精疲力尽。原本 阅读全文
-
代码的坏味道
摘要:代码坏味道:是指在代码之中潜在问题的警示信号。并非所有的坏味道所指示的确实是问题,但是对于大多数坏味道,均很有必要加以查看,并作出相应的修改。1.重复的代码如果你在一个以上的地点看到相同的程序结构,那么当可肯定:设法将它们合而为一,程序会变得更好。同一个class内的两个函数中含有重复的代码段两个兄弟class的成员函数中含有重复的代码段两个毫不相关的class内出现重复的代码段注意:重复的代码是多数潜在BUG的温床!2.过长的函数拥有短函数的对象会活的比较好、比较长。程序愈长就愈难理解函数过长阅读起来也不方便小函数的价值:解释能力、共享能力、选择能力原则:每当感觉需要以注释来说明点什么的时候 阅读全文
-
欲善其事,必利其器 - Librame Utility R1 实用工具包(.NET Framework 3.5)
摘要:Librame Utility R1基于 .NET Framework 3.5 开发,支持 WinForm 与 WebForm 开发环境。一、Librame Utility 功能介绍1、Librame.Caching(缓存功能)支持文件缓存与 SQL 缓存依赖;支持缓存队列、支持线程安全等功能;(比System.Web.Caching 更加强大)2、Librame.Language(多语种功能)支持枚举、异常、框架、其它等类型的多语言配置功能。3、Librame.Logging(日志功能)支持调试、信息、警告、错误、致命等类别的日志记录功能。4、Librame.Security(算法功能)支持 阅读全文
-
OEA体验:查看模板
摘要:一、摘要 在这里主要是写OEA设计方面的知识了。OEA 源码:OEA框架 2.9 Pre-Alpha 源码公布可以到BloodyAngel的博客和中可以下到。虽然现在应经知道使用了,但是还是 需要了解框架相关知识运行机制,让我们更好的使用OEA进行开发 OEA提供了自定义模板机制。我们这里主要是先实现模板的查看二、本文大纲 a、摘要 。 b、远景 。 c、项目结构 。 d、OEA实现方法 。三、远景 我们先看效果图,这样我们可以知道,我们需要达到什么样的效果。从上图上,我们可以看出我这里需要用到三个表的数据。一个组本身的数据,一个是组成员的数据。像的页面应该是经常看到了。四、项目结构, a、摘 阅读全文
-
可复用的WPF或者Silverlight应用程序和组件设计(3)——控件级别
摘要:内容摘要这一讲,我将探讨控件级别的复用性设计。我会讲解WPF和Silverlight中内置的控件,以及他们的一些内部组成部分和继承关系。WPF和Silverlight作为一种主要作为界面开发的开发框架,我们在使用他们做开发的时候,会用到各种各样的控件,或者出于某些原因,我们还会编写自定义控件或者用户控件。控件从一开始就是为了复用而设计的,这一讲我将带领大家更好地理解这一点。视频地址http://www.tudou.com/programs/view/IXywBFf6eyU/分类:fmplan-02 - Developement Practice-02-1-Desktop 阅读全文
-
maven开发过程实践
摘要:mavenMaven开发过程实践之四—(迅捷自测web应用)摘要: 在幽暗的灯光下,诺大的办公室里只有一台显示器依旧亮着,其上有一堆堆字符在跳动,一个模糊的背影在聚精会神的盯着屏幕…那就是IT男罗书全。旁边计算机的指示灯像萤火虫一样的闪烁,寂静…寂静,突然传来一声欢呼。这是一个标志性的时候,代码基本开发完毕。 接下来就是自测阶段了,令人欢喜令人忧的阶段。喜得是搞完后基本就可以放松一下了,忧的是web应用程序的自测非常繁琐,必须在不断地代码修改...阅读全文posted @2012-04-23 09:16jinspire 阅读(29) |评论 (0)编辑Maven开发过程实践之三—(单元测试报告 阅读全文
-
[开源]KJFramework.Message 智能二进制消息框架 -- 对于数组的极致性优化
摘要:框架的介绍:1. 已经完成了对于消息内部类型的支持(int, short, long, uint, ushort, ulong, bool ,float, double, byte, sbyte, byte[], decimal, DateTime, IntPtr, Guid)2. 支持内部序列化元数据(.NET可序列化的对象)3. 对于智能对象内部的“智能对象”提供支持。 支持迭代元数据转换。[说明:]KJFramework框架中内置了一套,可以将网络传输实体自动转换为二进制元数据的能力框架。使用此框架,将使得用户不在关心底层传输时对于二进制编码/解码的繁琐过程,解放程序员的脑力劳动。目前此 阅读全文
-
Ease & Easy ASP.NET MVC 开发框架
摘要:曾几何时,我构思中的开发框架就像是航空母舰,海陆空全能型。但它庞大,无边无际,并非一般人可驾奴的。后来,经过无数的尝试、失败、跌倒、爬滚、站立、再尝试……周而复始的尝试之后,终于如白雪公主吻到了青蛙王子那样,让我见识了诸多影响世人的产品——iPhone,iPad,Facebook,Twitter。它们各自的诞生都有各自不同的传奇故事,也为各自不同的理念成长,但它们有一个共同点——Ease & Easy。Ease——舒适、悠闲、自在、放松。Easy——容易、简单就是美。一件产品的生命力一般不会很长,但产品所代表的理念可以无限延长。我希望一个开发框架也能够这样,一出来并没有枝叶茂盛,但它所 阅读全文
-
使用EF构建企业级应用
摘要:2012-04-19 10:38 by 谢中涞, 1330 visits,收藏,编辑本系列目录:使用EF构建企业级应用(一):主要讲数据库访问基类IRepository及Repository 的实现使用EF构建企业级应用(二):主要讲动态排序扩展的实现使用EF构建企业级应用(三):主要讲灵活的构建查询条件表达式Expression<Func<TEntity,bool>>.使用EF构建企业级应用(四):主要讲下在MVC环境中前端开发中如何邮箱的使用,及一个实例源码包在前面三篇文章中,我们大致的描述了使用EF如何方便的实现数据持久化,我们简要的回忆下都有那些关键的内容段Re 阅读全文
-
Fireasy.Data底层结构
摘要:Fireasy.Data的一个主要接口是IDatabase,这个与网上流传的SqlHelper差不多是完成一样的操作。不过,在IDatabase中只提供了几个高内聚的方法,你不必去传递那些DbCommand和DbParameter。不同的数据库类型,都提供实现IProvider接口的类,来指定DbProviderFactory,以及各种的IProviderService组合来实现更多的功能。 下面先来看一下有关IDatabase及周围的一些接口组合: 1、IDatabase接口 在Fireasy.Data中,IDatabase是最底层的接口,它提供了以下几个属性和方法:ConnectionS. 阅读全文
-
EntityFramework之领域驱动设计实践【后续篇】:基于EF 4.3.1 Code First的领域驱动设计实践案例
摘要:两年前我在博客中发布了《EntityFramework之领域驱动设计实践》系列文章,也得到了广大读者朋友的关注,在完成了系列文章的总结之后,也一直没有这部分内容的更新了。现在,Entity Framework的稳定版(就是那个Stable的版本,不是Entity Framework 5的beta版本)4.3.1已经逐步应用到各种.NET项目中,为了演示Entity Framework 4.3.1 Code First编程模式以及其它的一些.NET技术在领域驱动设计实践上的应用,我重新采用经典的分层架构(也就是类似Microsoft NLayerApp的区别于CQRS的架构)实现了一个案例程序: 阅读全文
-
重命名方法、类、参数等
摘要:摘要:本人也是coding很多年,最近刚从开发经理转行做架构师,致力于学习面向对象、设计模式、TDD、极限编程、架构设计,记得Martin Fowler在《重构》一书说过,“精彩的代码是怎么想出来的,比看到精彩的代码更加令人期待”,对于架构同样如此,“优秀的架构是怎么想出来的,比看到优秀的架构更加令人期待”,因此我希望把我的学习成长记录下来,有任何异议还望大家指出,共同学习,为了方便查阅,特意做出索引一页。 查看请通过http://www.cnblogs.com/seesea125/archive/2012/04/17/2453256.html动机:重命名是重构最基础的一个重构,也是最简单的重 阅读全文
-
构建高性能.NET应用之配置高可用IIS服务器-第三篇 IIS中三个核心组件的讲解(上)
摘要:系列文章:构建高性能.NET应用之配置高可用IIS服务器-第一篇:IIS必须掌握的知识构建高性能.NET应用之配置高可用IIS服务器-第二篇 IIS请求处理模型 今天的文章的比较的容易,主要讲述IIS中三个比较重要的组件:协议监听者(Protocol Listeners),WWW服务(World Wide Web Publishing Service)和WAS(Windows Process Activation Service),理解这三个组件的功能,是理解IIS的必须的知识。 下面,我们首先来看第一个。协议监听者(Protocol Listeners)我们知道,很多不同类型的应用程序都需要 阅读全文
-
用户需求的分析与处理
摘要:前言 为了开发出真正的满足用户需求的软件产品,首先必须知道用户需求,这样子对软件需求的深入理解是软件开发工作获得成功的前提条件,所以不管我们在设计阶段和编码阶段做的多好,但是没有真正满足用户的需求,只会让用户失望,让程序员苦恼;鉴于本文是关于一个简单的音乐网站,架构业务不是很多(在之前的基础上加上了评论,分类等等),当然需求分析的基本任务就是准确低回答“系统必须做什么?”所以在开发软件初级阶段一定要分析好,如何回答提炼出系统的功能。本文的主要内容:前言需求分析任务针对网站收集用户需求总结需求分析的任务 这个过程可以根据一般音乐网站的特点与基本流程以及用户需求调查报告通过理解需求阶段的目标,为业 阅读全文
-
DDD眼中的三层
摘要:软件复杂度的根本,来源于思维的复杂度。三层架构从DDD看三层DDD的三层实现详细架构看代码业务域 (Domain)持久层 (数据层)测试和使用的例子完整代码下载得心应手武器库:Fluent nHibernatenUnitGit (GitHub)本文所涉及使用的工具, 见前文:我的.Net武器库 ------ 新.Net架构必备工具列表三层架构相对于目前日新月异的新概念,新名词,三层架构已经算得上元老了。虽仍有争议,但业界更多的是共识。图1 常用三层的描述图足够简单、清晰,我仍要提醒的是,注意层之间连线的箭头,非常之重要,借用UML的定义,箭头表示依赖关系。也就是说,必须先有数据层,才有业务层, 阅读全文
-
高内聚、低耦合?
摘要:起因:模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准――耦合性和内聚性。 耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。 耦合性分类(低――高): 无直接耦合;数据耦合;标记耦合;控制耦合;公共耦合;内容耦合;1 无直接耦合:2 数据耦合: 指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言的值传递;3 标记耦合: 指两个模块之间传递的是数据结构,如高级语言中的数组名、记录名、文件名 阅读全文