摘要:
框架最新的升级实现了一个页面部件功能,其实就是通过后台方法查询数据库内容,把查询结果的 HTML 代码呈现到 Razor 视图中,考虑到灵活性,需要能在任意 Razor 视图中调用该方法,这样任意 Razor 页面都能以统一的方式方便地共享该页面部件的 HTML 内容,这对于代码的重用性和可维护性都是非常有必要的。 阅读全文
摘要:
在典型的CMS系统中,通常需要为某个栏目指定个友链地址,通过指定友链地址,该栏目的地址更人性化、方便记忆,也有利用于搜索引擎优化。
但在MVC中,通常需要在应用程序启动时注册路由规则,该路由规则又通常和控制器进行了关联,也就是某个地址通常情况下都是有对应的控制器进行处理的。本文介绍了如何在MVC环境下实现自定义动态路由,以便在运行时通过某个控制器处理一些运行时动态设定的Url地址。 阅读全文
摘要:
公文流转系统是国内企事业单位的普遍需求,具有很强的中国特色。本子系统通过权限模型框架实现了如下核心功能:
1、具备公文流程审批,流程支持多人并批(有时需要考虑审批人的权重)、打回当前审批人之前任意人(包括起草人)
2、有权限的审批人能在审批过程中能前插、后插审批人进行审批,审批人可提前浏览本人将审批的公文。
3、每个公文流程可设置传阅人,传阅人只能看流程的公文信息,不参与审批
4、公司(子公司)可分别创建不同的审批流程,根据公司(子公司)、公文类别来确定流程
5、公文起草和审批时能上传多个附件
6、菜单中有起草公文、已发公文、送阅公文、待办公文、已批公文、公文一览等。 阅读全文
摘要:
很多网友建议在YbRapidSolution for MVC框架的基础上实现CMS功能,以方便进行内容的管理,加快前端页面的开发速度,因此花了一段时间,实现了一套CMS内容发布系统并已集成至YbRapidSolution for MVC框架中,本CMS当前已实现了CMS参数设置、栏目管理、文章管理、文档管理、评论管理、问卷调查等功能,本文将对底层的一些实现要点进行介绍。 阅读全文
摘要:
最近在进行 YbSoftwareFactory 的流程功能升级,目前已经基本完成,现将用到的一些关于 Web Api 及 MVC 性能提升的一些小技巧进行了总结,这些技巧在使用、配置上也相当的简单,但通常都能大大提高应用程序的性能,希望对大家有用。 阅读全文
摘要:
DynamicObject 是 .NET 4.0以来才支持的一个类,但该类在.NET 4.0下未被标记为[Serializable] Attribute,而在.NET 4.5下则被标记了[Serializable] Attribute。需要注意的是,如果你使用需要进行XML序列化等操作(例如WCF中),部署到未安装.NET 4.5的环境中通常会报错并提示异常,而不管你编译时使用的目标平台是.NET 4.0 还是 .NET 4.5。通常这个错误在安装了.NET 4.5环境的开发机上通常没有问题,即使你创建的项目是基于.NET 4.0的,但实际调用的还是 .NET 4.5的库。因此通常在使用 DynamicObject 并需要进行序列化的情景下需要谨慎(特别是WCF环境下),除非你实现了你自定义的序列化操作。在此提醒广大开发人员注意,否则到你正式部署至不能安装.NET 4.5的环境中将折腾你够呛(例如Windows Server 2003等)。 阅读全文
摘要:
实体类通常需要和数据库表进行了ORM映射,当你需要添加新的属性时,往往同时也需要在数据库中添加相应的字段并配置好映射关系,同时可能还需对数据访问组件进行重新编译和部署才能有效。而当你开始设计一个通用数据访问组件后,因为项目需求的不同和需求的不断变化演变,很难不能保证不会再添加额外的属性和字段。特别是项目部署运行后,添加一个属性和字段带来的额外维护的工作量可能要远远超过对代码进行调整的工作量。本文提供了属性字段扩展的一种思路,在满足核心字段可通过实体类强类型进行访问的同时,还可通过C# 4.0提供的dynamic特性和Dictionary等技术手段进行字段、属性的扩展,并对数据访问的统一封装,具有通用性强、使用方便、扩展能力强等优点。 阅读全文
摘要:
树形结构的排序在中国特色下十分普遍也非常重要,例如常说的五大班子,党委>人大>政府>政协>纪委,每个班子下还有部门,岗位,人员,最终排列的顺序通常需要按权力大小、重要性等进行排列,顺序排列不好可是重大的罪过,领导很生气,后果很严重。这种排序方式本质上就是典型的树形结构深度排序,但在数据库中很难直接通过SQL语句简单高效地进行处理,更不用说还要支持不同类型数据库了。本文介绍的设计方式采用的排序码+排序值方式,具有存储直观,排序算法简单,查询高效、调整维护方便等优点。 阅读全文
摘要:
目前权限管理系统不少,但通用、灵活、符合现代企事业单位实际工作需要的不多。现有的权限系统绝大多数都是以模块为核心,而本权限模型将摒弃了此类普遍的做法,将以组织机构为核心来进行权限系统的设计,因为这更符合实际的业务需求,也具有很多无法比拟的优点。 阅读全文
摘要:
程序=数据结构+算法,而企业级的软件=数据+流程,流程往往千差万别,客户自身有时都搞不清楚,随时变化的情况更是家常便饭,抛开功能等不谈,需求变化很大程度上就是流程的变化,流程的变化会给开发工作造成很大麻烦。而本审批流程具有较强的通用性,同时也有很大的灵活性,虽然无法100%的解决各种非常个性化的审批流程,但至少也能解决其中80%以上的较为通用的流程了。本审批流程由流程设计器、流程控制组件和表单设计器三大部分组成。 阅读全文
摘要:
YbSoftwareFactory 各种插件的基础类库中又新增了两个方便易用的底层组件:动态属性扩展与键值生成器,本章将分别介绍这两个非常方便的组件。动态属性扩展组件主要面向正在开发中的审批流组件而设计的,其目的是为终端用户提供灵活、方便、易用的属性自定义的功能。 阅读全文
摘要:
YbSoftwareFactory 的 YbRapidSolution for WinForm 插件使用CSLA.NET作为业务层,CSLA.NET的一个强大的特性是支持 N-Tiers 部署。可只需非常简单的配置就能在本1-Tier部署方式和N-Tiers部署方式之间切换,这个过程无需编写任何额外的代码,对于WinForm和WPF等客户端开发来说是非常重要的特性,更多信息请参考我前面的文章:YbSoftwareFactory 代码生成插件【七】:YbRapidSolution for WinForm 插件生成项目总体架构介绍。但众所周知,VS在WinForm的开发环境下没有提供相应的分页控件,网上很多针对实现的分页控件虽然实现了数据库分页但往往也要丢失一些在WinForm下的重要特性,通用性和易用性都稍差。本文描述了通过 DynamicLinq 来实现非常方便的自定义过滤条件和自定义排序规则的服务器端数据库分页,并提供 DynamicLinq 的代码下载。 阅读全文
摘要:
ASP.NET Web API 可非常方便地创建基于 HTTP 的 Services,这些服务可以非常方便地被几乎任何形式的平台和客户端(如浏览器、Windows客户端、Android设备、IOS等)所访问,它可根据请求类型自动提供 JSON、XML 等类型的响应内容。在移动互联网逐渐成为主流的背景下,通过 Web API 对外发布基于标准、通用 HTTP 协议的服务来交换数据无疑具有非常大的优势和吸引力。本文将主要围绕 ASP.NET Web API 的安全性进行讨论。 阅读全文
摘要:
通过应用程序设置可以动态存储和检索应用程序的属性设置和其他信息。应用程序设置是提高应用程序灵活性的必备手段之一。通常的应用程序设置可写人数据库、配置文件(如Web.Config的"appSettings"配置节)和Properties.Setting(WinForm、WPF客户端可选)等。
本文要介绍的应用程序设置管理采用数据库存储的方式,实现了如下的目标:
1、支持多种数据库,同时预留接口,用户可对API进行灵活扩展,支持如XML等任意形式的存储方式。
2、支持多应用程序、多客户端(在C/S方式下特别有用)的应用程序设置管理,可方便地配置每个应用程序设置信息是否在各个应用程序、各个客户端间共享。
3、API接口丰富、调用方便,支持泛型类型的应用程序设置信息,各个客户端可随意定义所要保存和加载的应用程序设置信息,服务器端可集中进行管理。 阅读全文
摘要:
ASP.NET MVC 插件所生成的项目组织机构管理和菜单权限管理功能,同时对现有的用户、角色管理进行了大幅度的重构,支持更多的扩展信息;编辑器增加了对 KindEditor 的支持。在本文中将简要介绍实现上述功能的核心代码和原理,供需要的童鞋参考。 阅读全文
摘要:
ASP.NET MVC 插件所生成的项目新增缓存、审计日志和导出功能。缓存有助于显著提高性能;审计日志很强大,可对系统数据的变化情况进行跟踪和审计;导出功能的实现是在web api的方式下实现的,任何类型的客户端都能通过stream的方式进行导出和下载操作。 阅读全文
摘要:
YbSoftwareFactory目前已可快速生成ASP.NET WebForm、MVC、WinForm和WPF的解决方案源代码,所生成的源代码可直接在VS中打开并运行。终端用户还可自行二次开发自己所需的插件。本章将对ASP.NET MVC代码生成插件所生成项目的主要特点和技术进行解析。 阅读全文
摘要:
本章将对由 YbSoftwareFactory 一键生成的 YbRapidSolution for MVC 项目的界面效果和核心技术进行介绍,提供Dynamic Linq的实现源码与Demo地址,界面层使用了JQuery EasyUI和Web Api,数据访问层使用Entity Framework。 阅读全文
摘要:
本章将对其YbSoftwareFactory一键生成的 YbRapidSolution for WinForm 项目的总体架构进行解读和分享,中间将穿插对各个层次组件的特点进行简要分析和总结,最后将提供 N-Tier 部署的 Demo 下载。 阅读全文
摘要:
“YbRapidSolution for WinForm”是 YbSoftwareFactory 截至目前发布的功能最强大的代码生成插件。此插件开发的难度超乎想象,应用程序的开发前后跨度断断续续接近三个月,把应用程序源代码转换为 YbSoftwareFactory 的代码生成模板用了2周时间,编写插件源代码则只用了半天,到最后使用 YbSoftwareFactory 重新生成Demo应用程序并在 Visual Studio 中成功运行,前后更是只用了不到 10 分钟。对于今后实现同样效果的应用程序来说,10分钟 >= 3个月,这就是 YbSoftwareFactory 的价值!
本插件生成的界面效果和WPF版本的“YbRapidSolution for WPF”插件类似,但底层架构完全不同,全新的设计赋予了其超凡的功能和特性。最重要的是,生成的代码开源,你可以在 Visual Studio 中不受限制地修改、学习、研究和应用。 阅读全文
摘要:
YbSoftwareFactory 发布的面向WPF完整应用程序解决方案的最新插件,具有令人震撼、超级绚丽的界面效果 阅读全文
摘要:
新版本的YbSoftwareFactory中新增了多数据库的支持功能和表、列编辑内容的导出和导入功能。
当前已能支持 SQL Server 连接、Orcale 连接、Access 连接、ODBC连接等多种标准的数据库连接方式,可根据这些数据库的表和列的元数据信息快速生成各类代码。未来将增加对DB2、MySQL、PostgreSQL、SqlCE、SQLite、Sybase、VistaDB等多种数据库的代码生成支持。
表、列元数据编辑内容的导出和导入功能可保存你所编辑的元数据信息以便下次生成代码时重用。 阅读全文
摘要:
每个公司为加快项目的开发效率,都会使用一些成熟的框架或组件,然后在此基础之上进行开发。YbSoftwareFactory也可复用这些框架和组件,通过二次开发来开发一个代码生成插件,把大部分和框架有关的公共代码和组件封装打包压缩到项目文件中,而把和具体业务管理有关的需要变化的代码使用T4模板来生成。然后使用该代码生成插件来快速生成一个适合自身开发习惯的可立即运行的解决方案来提高开发进度,然后在此基础之上进行后续代码的二次开发。
曾经的某公司用户在使用了YbSoftwareFactory来进行首个项目的辅助开发,原本计划28天的项目编码任务仅仅只用了3天,这3天的工作量也就是进行个性化的界面呈现调整和统计报表的制作,因为代码生成插件所生成的解决方案和代码已经集成了身份认证、权限管理、验证规则、日志输出等公共功能以及实体的增、删、查、改和导出个性化功能,工作效率的提高由此可见一般。 阅读全文
摘要:
程序员得学会自我解放,YbSoftwareFactory就是这样一款解放程序员的利器,能让你更加专注于具体业务逻辑的实现,把自己从每日盲目的重复工作中解脱出来。能更有思想、更充分、更游刃有余地看待具体问题,而不仅仅是做一名水平低下的编码员。本章节开始将以一个Demo来重点介绍YbSoftwareFactory代码生成插件二次开发所需各个类的实现。 本章节将首先来看看“IPlugInGroupRepository”接口的实现类。 阅读全文
摘要:
YbSoftwareFactory,是一款使用.NET开发的软件代码智能快速生成平台,可方便、快速地生成各种应用程序代码。最新的2.0版支持插件式开发,可根据自身需要进行二次开发来生成能完全满足自身需要的任何代码。本系列将介绍了如何使用YbSoftwareFactory 2.0开发一套完全满足自身需求的代码生成插件的主要步骤和插件组成。 阅读全文
摘要:
YbSoftwareFactory,是一款使用.NET开发的软件代码智能快速生成平台,可方便、快速地生成各种应用程序代码。最新的2.0版对原1.0版进行了全新设计,支持二次开发。 阅读全文
摘要:
有一种扯淡叫做毛线。 .NET的实体框架当前已经是4.1了,考虑到已经提供POCO功能,并且还支持多种数据库(这点可是Linq2Sql无法做到的),于是想试试。 不可否认,EF强大的设计能力确实很方便。但是很困惑的地方就是在Sql Server 2008下,DateTime类型在数据库中只能使用datetime2,否则运行后会报错,据说Sql Server 2005就没这个问题,当然2005中也没... 阅读全文
摘要:
基于图像的车牌识别技术,是基于图像的模式识别、图像处理、人工智能的典型案例 阅读全文
摘要:
在本章,你将学会:
1、充分利用面向对象编程的观点来对多个精灵进行控制
2、准备编写易于理解和组织良好的游戏循环逻辑
3、根据游戏逻辑的需要动态创建对象
4、对适用于矢量图形的变换操作进行控制
5、了解基本的冲突检测算法 阅读全文
摘要:
在本章,我们将开始创建能在屏幕上移动的2D卡通人物,并学习在2D空间中控制它们的行为:我们将:
1、预先准备一个利用了Silverlight 3性能提升优势的图形增强功能的应用程序项目
2、学会在多种多样的艺术素材上进行硬件加速变换
3、2D空间中的图形动画
4、了解位置、分辨率和尺寸 阅读全文