实际上适配器模式是用于解耦。设想一下我们的程序模块A在与模块B打交道时,需要在许多地方多次使用B中某个类的方法,而负责开发B的程序猿Tom还未完全实现该类,会随时更改该类中的方法,那么当Tom在修改时,负责A的攻城狮Jerry不得不进行苦逼的修改。聪明的项目经理Dabao想出了好方法——适配器模式,于是在Tom和Jerry之间进行了如下设计: /// <summary>/// B中目前只定义了英雄KASS/// </summary>public class KASS{public void ...
让我们继续深入探索这方面的技术,为了更好的应用起来,专心做好底层的技术开发。本篇继续上一篇的介绍,主要介绍分组管理方面的开发应用,这篇的内容和上一篇,作为一个完整的用户信息和分组信息管理的组合。1、用户分组管理内容用户分组的引入,主要是方便管理关注者列表,以及方便向不同的组别发送消息的操作的,一个公众账号,最多支持创建500个分组。用户分组管理,包含下面几个方面的内容:1 创建分组2 查询所有分组3 查询用...
上篇博客提到过SQLite,它是嵌入式数据库,由于其轻巧但功能强大,被广泛的用于嵌入式设备当中。后来在智能手机、平板流行之后,它作为文件型数据库,几乎成为了智能设备单机数据库的必选,可以随着安卓app打包到apk文件当中。SQLite的官方网站是http://www.sqlite.org/,可以任意下载,上面也有详尽的文档可以参考,这篇博客重点关注SQLite在Android开发中如何使用。在Android开发中,推荐建立一个类继承自SQLiteOpenHelper来创建...
C#开发串口总结,并提炼串口辅助类到公用类库中开发C#相关的项目有很多年了,一直没有接触串口的开发,近期由于工作的需要,需要了解熟悉对硬件串口的开发,通过对串口的深入了解,串口也不再是什么神秘的东西,利用SerailPort组件,对串口的各种操作也非常的方便,由于本人总是喜欢把一些常用的东西封装成可供重复利用的类库,因此,阅百家代码,提炼总结优化,把对串口的操作封装成一个公用的类库,应付日常的串口编程开发,也算...
一:引用MySQL使用基于Parameter方式代码,总是提示:“Column ‘列名‘cannot be null”解决 MySQL使用基于Parameter方式代码,总是提示:“Column ‘列名‘ cannot be null” 解决方法1:直接在连接字符串里面加一个 oldsyntax=true 即可。 例如:
?1server=127.0.0.1;userid=root;password=;database=itemdb;oldsyntax=true 解决方法2:将语句中的 @ 替换为 ? 例如: ?1234567891011121314151617StringBuilder strSql=new Strin...
这是我自学程序以来在博客园的第一遍博客,如有不好的地方请大家指正,谢谢!这边文章的目的是给予那些在PCB使用Genesis2000程序脚本开发的人员提供.net平台下的开发方法。目前genesis脚本的开发的语言主要为cshell,perl和tcl,相对于学过c#的人需要学习成本,网我打听厅过用C#开发脚本的接口的价格最少都需要1000块钱,本着开源的思想我吧这几天研究的成果公布发表给大家!1.genesis脚本的运行机制(这里拿cshell来说),(以我的...
Prepare 本文将使用一个NuGet公开的组件技术来实现一个服务器端的文件管理引擎,提供了一些简单的API,来方便的实现文件引擎来对您自己的软件系统的文件进行管理。 在Visual Studio 中的NuGet管理器中可以下载安装,也可以直接在NuGet控制台输入下面的指令安装:Install-Package HslCommunication
NuGet安装教程 http://www.cnblogs.com/dathlin/p/7705014.html技术支持QQ群:592132877 (组件的版本更新细节也将第一时间在群里发...
代码生成器进行了改进,针对Oracle数据库生成更优美的代码。这样生成出来的代码,更像微软的风格,更像C#.NET的标准规范,阅读起来也更优美。把Oracle表字段名默认大写, 有_分割等进行了优化,这样用我们代码生成器生成的代码,阅读起来,更顺眼。更能拿得出手了。代码生成器生成代码效率高、规范性强、错误少、质量可靠。EF 生成的 Oracle 底层数据库的SQL语句性能不能有保障、在大并发大用户时会有很多不确定因素、甚至优化起来...
在前面介绍了三篇关于MongoDB数据库的开发使用文章,严格来讲这个不能归类于MongoDB数据库开发,不过Redis又有着和MongoDB数据库非常密切的关系,它们两者很接近,Redis主要是内存中的NoSQL数据库,用来提高性能的;MongoDB数据库则是文件中的NoSQL数据库,做数据序列号存储使用的,它们两者关系密切又有所区别。本篇主要介绍Redis的安装及使用,为后面Redis和MongoDB数据库的联合使用先铺下基础。1、Redis基础及安装Redis是一个开...
01 介绍一个有会员制的电影院购票系统。具有会员注册功能,可区分会员和散客两种身份,实现会员及折扣管理。购票具有挑选电影场次,选择座位和查看电影信息等功能。查看电影详情、获取排片信息。选择场次座位,完成支付,获取取票信息。注册成为影院会员,享受优惠折扣。代码获取关注我们的公众号!在后台回复【CSTK】不包括【】即可获取。02 设计思路在功能设计上,一个电影院购票系统,首先需要具备最基础的功能:影片选择、场次...
C#游戏开发中快速的游戏循环的实现。参考《精通C#游戏编程》一书。using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;namespace GameLoop
{[StructLayout(LayoutKind.Sequential)]publicstruct Message{public IntPtr hWnd;public Int32 msg;public IntPtr wParam;public IntPtr lParam;publicuint time;public System.D...
1、创建一个图形对象的步骤如下见上一篇博客(三)2、添加删除实体的工具函数见上一篇博客(四)3、添加圆的例子(完整源代码请加云幽学院免费课yunyun.ke.qq.com) [CommandMethod("MKCircle")] public void MKCircle() { //(1)获取当前活动图形数据库 Database db = HostApplicationServices.WorkingDatabase; //(2)新建一个circle对象 Point3d cenPt = new Poi...
Linux守护进程(Daemon)是Linux的后台服务进程,它脱离了与控制终端的关联,直接由Linux init进程管理其生命周期,即使你关闭了控制台,daemon也能在后台正常工作。一句话,为Linux开发与控制台无关的,需要在后台长时间不间断运行的“服务程序”,Daemon技术是非常重要的。Daemon程序一般用c/c++开发。不过,我今天要讲的,不是怎么用c/c++开发daemon,而是用C#!一,创建Daemon程序:用VS新建一个控制台项目,假设名称是MyDaemo...
今天是个伟大的日子,不得不说小苹果的歌词真是深入人心啊。不过今天伟大并不是因为我种下一颗种子,而是我从今天不再写demo,而是进入项目的正式开发当中,毕竟项目时间有限(想必各位码农也都深有体会吧),边开发边探索吧。既然是刚刚开始,就先搭了一下系统框架,然后,做了一个登陆功能,和一个登陆日志功能publicclass Log{public ObjectId Id { get; set; }publicstring Abstract { get; set; }publicstring Description { ...
单例模式:在多线程的程序开发过程中经常会遇到单例模式[单件模式],它的特点是不是根据客户程序的调用而生成新的实例,而是控制某个类型的实例数量只有一个。也就是说,单例模式就是保证在整个应用程序的生命周期中,在任何时刻,被指定的类只有一个实例,并为客户程序提供一个获取该实例的全局访问点。接下来看一个经典的单例模式:publicclass SingleInstance
{privatestatic SingleInstance _instance=null;private SingleInsta...