搜索到与相关的文章
编程技术

设计模式—详解篇—行为型模式

2.Template模板模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。看图说话:拿流水线为例,同样的过程,使用了不同的原料得到的产品特性也是不一样的。这里的过程就是模板,使用不同的原料就是模板中各个工序的差异。从此模式我们可以深刻的认识到接口与抽象类之间的重要差异。抽象类因为可以被继承所以能够制造模板给自己的子类。3.Memento备忘录模式在不破坏封装性的前提下,捕获一个

系统 2019-08-29 22:38:34 2247

编程技术

给老婆作的小账本 晒晒 上传源码了 哈哈

刚开始开发最近赶了几个晚上很多功能还未完善等全部OK了上源码,先大家LOOKLOOK昨天发现个问题,我在"今日账单"的Tab页中放置了ListView,可以选中,然后在通过Menu的"删除记录"实现删除功能,现在我想在删除之前弹出一个确认对话框AlertDialog,但是发现AlertDialog不能在Tab页内部去bulider,看了异常信息,应该是AlertDialog需要一个Acitivity的Context,但在Tab页内部的Class,是作为一个

系统 2019-08-29 22:01:57 2247

编程技术

分离权限管理与访问控制

权限管理与访问控制常常被放在一起讨论,不是吗?我们的软件设计往往一来就是一个系统组成模块图,在那个图里面一个傻傻的方框里面写上“权限控制模块”。但是,我认为我们还是应该认识到在这个“模块”里面两者的不同。“访问控制”:是一个动态的概念,是发生在运行时的,也即RBAC里面说的Session中。当一个按照定义需进行控制的访问或调用发生时,“访问控制”即发挥作用了。“访问控制”发生的频率非常高;“权限管理”:则是一个相对静态的概念,即对“访问控制”的规则进行定义

系统 2019-08-12 09:30:31 2247

各行各业

System.DirectoryServices

可以的,ADSI,WMI,System.Directory,ABO等四种方式都可以操作具体可以查看一下MSDN里的WebDevelopment\ServerTechnologies\InternetInformationServicesSDK\IISProgrammaticAdministrationSDK\UsingIISProgrammaticAdministration,里面有很多例子。不过你要确保访问A服务器上的asp.net的应用程序具有B服务器

系统 2019-08-12 09:27:33 2247

各行各业

EF4.1使用

EF分为三类:dbfirst:首先建立数据库,然后通过ADO.NetEntityDataModel项目建立.edmx文件,这是一个xml文件主要作用就是映射类和数据表modelfirst:首先建立.edmx文件,映射类和数据表的关系,然后生成代码codefirst:首先写代码,如实体对象,数据关系等,然后根据已有的代码描述,自动创建数据对象这里主要介绍codefirst方法:首先下载http://www.microsoft.com/en-us/downlo

系统 2019-08-12 09:27:17 2247

各行各业

Sublime Text快捷键

Ctrl+Shift+P:打开命令面板Ctrl+P:搜索项目中的文件Ctrl+G:跳转到第几行Ctrl+W:关闭当前打开文件Ctrl+Shift+W:关闭所有打开文件Ctrl+Shift+V:粘贴并格式化Ctrl+D:选择单词,重复可增加选择下一个相同的单词Ctrl+L:选择行,重复可依次增加选择下一行Ctrl+Shift+L:选择多行Ctrl+Shift+Enter:在当前行前插入新行Ctrl+X:删除当前行Ctrl+M:跳转到对应括号Ctrl+U:软撤

系统 2019-08-12 09:27:16 2247

各行各业

thrift入门(1) -- 安装配置

thrift是一个跨语言的通讯框架,支持c++,java,.net,python,php等。你可以用一种语言写一个服务器,然后另外一种语言写一个客户端,快速搭建一个rpc调用服务。而且它很轻量级,只要引入特定库便可以运行服务和客户端,不需要再安装配置其它复杂的环境和容器。下面介绍如何在ubuntu11.10上安装thrift0.8.0。1.下载thrift,页面http://thrift.apache.org/download/里有相应链接。我下的是0.8

系统 2019-08-12 09:27:14 2247

数据库相关

LearningRecords

(1)枚举默认为unsignedint类型,我们可以手动为枚举指定类型,如:enumAttr:char{ATTR_LV=120,};(2)我们可以使用泰勒展开式快速计算两点间距离:intfastDistance2D(int_nX1,int_nY1,int_nX2,int_nY2){//thisfunctioncomputesthedistancefrom_nX1,_nY1to_nX2,_nY2with3.5%error//firstcomputetheab

系统 2019-08-12 01:53:24 2247

各行各业

第二人生的源码分析(四十三)虚拟文件系统线程

由于第二人生是一个3D显示的软件,因此它就需要不断地从服务器下载大量数据,比如纹理图片,不同的角色是使用不同的纹理图片来实现不同的衣服外表的。当显示这些角色时,就使用从服务器下载的纹理图片。如果显示的人物角色比较多,比如有30个人时,这些纹理图片就需要保存到磁盘里。那么怎么样保存到磁盘里呢?保存到磁盘里就需要一个好的文件系统来保存,以及读取数据出来。读写磁盘是一项比较慢的工作,因此需要使用一个线程来实现。还有时读写文件并不需要及时性的动作,可以让线程等到C

系统 2019-08-12 01:32:47 2247

Python

python的re模块使用方法详解

一、正则表达式的特殊字符介绍正则表达式^匹配行首$匹配行尾.任意单个字符[]匹配包含在中括号中的任意字符[^]匹配包含在中括号中的字符之外的字符[-]匹配指定范围的任意单个字符?匹配之前项的1次或者0次+匹配之前项的1次或者多次*匹配之前项的0次或者多次{n}匹配之前项的n次{m,n}匹配之前项最大n次,最小m次{n,}配置之前项至少n次二、re模块的方法介绍1、匹配类方法a、findall方法#findall方法,该方法在字符串中查找模式匹配,将所有的匹

系统 2019-09-27 17:56:15 2246