随笔分类 - 其它
摘要:文件上传无论在软件还是在网站上都十分常见,我今天再把它拿出来,讲一下,主要讲一下它的设计思想和实现技术,为了它的通用性,我把它做在了WEB.Service项目里,即它是针对服务器的,它的结构是关联UI(WEB)层与Service层(BLL)的桥梁.结构上传基类:上传文件的接口规范:接口的实现:UI层调用WEB.Service层的上传功能:(附代码) public class FileUploadController : Controller { WEB.Services.IFileUpload iFileUpload = null; public FileU...
阅读全文
摘要:扩展方法配合Lambda表示达,可以方便我们进行数据的查询,看个代码吧: IEnumerable<string> x=new List<string> {"1","zzl","good"}; //为对象赋值 foreach (var info in x.ForUser("zzl")) //从其中筛选zzl这个字符 { Response.Write(info); }public static class filter{ public static IEnumerable<string&g
阅读全文
摘要:SRP:单一职责原则,就是说一个类只提供一种功能和权有一个引起它变化的因素.OCP:开放封闭原则就是对一个类来说,对它的修改是封闭的,对它的扩展是开放的.DIP(IOC):依赖倒置原则:程序依赖于抽象,而不依赖于实现,它的主要目的是为了降低耦合性,它一般通过反射和配置文件来实现的.LSP:替换原则,就是基类出现的地方,通过它的子类也完全可以实现这个功能ISP:接口隔离原则:不关系细节的东西,只关心能够得到的服务,一般我们在定义对象时,都使用接口进行定义,这就是接口隔离原则的一个应用
阅读全文
摘要:不要为了写而写写是在一个不完整的想法上进行的,改是你想法的扩充!最近,写程序,越来越觉得它是一种艺术,写程序又像是烹饪,你写的程序的质量如何也就是你烹出的美餐是否可以得到认可,而写程序中,第一个认可的人是你自己,其实才是客户!
阅读全文
摘要:对于在页面上显示的文本框信息,我们在视图模块中定义成string就可以了,但如果是列表框呢,我们应该如何去定义更合理些呢?起初,我使用的方法是ViewData,然后在页面中再去强类型一下,如<%= Html.DropDownList("Type1",ViewData["Type"])%>这种方法破坏了对象的完整性,使它脱离了与对象的关系,我在做程序开发时,提供下面这种写法:<%= Html.DropDownList("Type1",Model.Type)%>这种写法说明,Type是本页面模块中的一个属性,类型为
阅读全文
摘要:Model:对于MVC来说,Model可不简单只是实体,它应该叫视图模型,这是我自己的理解,即视图中的数据由Model来提供,当视图的数据需要改变时,我们不用打开aspx或ascx文件,只需要修改相应的Model即可.我们要把Model看成是一个视图类,和界面有关的类,它内部的属性只和指定的页面有关,多于的属性则不需要.事实上MVC的实例已经说的很清楚了,仔细研究研究就会有一个很高的提高,理解它的意义,它的设计思路.不要把Model和Entity相混涤了,Entity是指与数据库对应的实体类,它与数据表一一对应,它可以通过一些代码生成器和entity framework生成工具和生成.看个例子
阅读全文
摘要:如果一个类中,有一个属性的类型是枚举型,那么,如果我们建立了一个类的集合对象,如List<类>,那我要根据它枚举值进行排序,如何进行?事实上.net把枚举和整型自动给我们进行了一个转换,如果要排序枚举,我们可以理解成排序整型字段,没有任何分别,如果枚举没有赋值,那么.net 运行时会根据枚举元素出现的顺序进行排序,第1个元素的值为0,依次向下加1看这个实例代码: enum Example { hihi , ok , yes , good , bad , } class exam { public Example Example { get; set; } }赋值并排序,然后输出:
阅读全文
摘要:环境搭配:ado.net entity framework相信大家不会陌生,它是将数据库抽象化对象化的一种工具,在最新的EF4.1版本中支持的code first即代码优先,它在没有原始数据库时的情况下,自动根据程序建立一个临时的数据表.我今天来说一下EF4.1生MVC3.0在一起开发程序的过程.首页安装VS2010 及 MVC3.0下载并安装一个EF Code first的软件,帮助我们自动生成数据表实体类建立一个MVC3的WEB应用程序使用EF代码生成工具生成数据表的实体类 这时会自动添加entities和mapping这两个文件夹,并添加与数据表名相同的Context.cs文件,修改we
阅读全文
摘要:回到目录以下文章部分来自百度百科背景长久以来,程序设计师和数据库总是保持着一种微妙的关系,在商用应用程序中,数据库一定是不可或缺的元件,这让程序设计师一定要为了连接与访问数据库而去学习 SQL 指令,因此在信息业中有很多人都在研究如何将程序设计模型和数据库集成在一起,对象关系对应 (Object-Relational Mapping) 的技术就是由此而生,像Hibernate或NHibernate都是这个技术下的产物,而微软虽然有了ADO.NET这 个数据访问的利器,但却没有像NHibernate这样的对象对应工具,因此微软在.NET Framework 2.0发展时期,就提出了一个Objec
阅读全文
摘要:这是枚举公用属性类:#region 枚举属性扩展类 /// <summary> /// 枚举扩展方法 /// </summary> public static class EnumExtensions { public static string GetDescription(this Enum obj) { return GetDescription(obj, false); } public static string GetDescription(this Enum obj, bo...
阅读全文
摘要:Remoting的认识和学习要感谢张逸老师,看了他的blog后,使我对Remoting技术有了新的认识,下面总结一下.remoting实现的结构,分为服务端,远程服务对象和客户端,看图Remoting是一个分布式处理服务。服务器端首先创建通道(Channel),并自动开启监听通道。根据客户端发出的请求,传递远程对象。因此,编写Remoting程序,主要分为三部分: 1、被传递的远程对象; 2、服务器端监听程序; 3、客户端请求和处理对象程序; 一、被传递的远程对象 在Remoting中,被传递的远程对象类是有诸多限制的。首先,我们必须清楚,这里所谓的传递是以引用的方式,因此所传递的远程对象类必
阅读全文
摘要:返回目录接口无疑是面向对象的程序设计中最重要的概念之一,它体现一种抽象,一种规范;即它只规定了具体的操作,而不对操作进行实现,它的实现由继承它的类去完成;它是一种规范,即,它要求实现它的类要对它的成员完全实现才行.看一段代码: 1 /// 2 3 /// 武器攻击的通用接口 4 5 /// 6 7 public interface IAttack 8 9 {10 11 /// 12 13 /// 攻击方法,被攻击对象是一个敌人对象14 15 /// 16 17 /// 18 19...
阅读全文
摘要:返回目录嗨!又要和大家一起说说不忘本的文章了,其实我写的不忘本就是指定C#的一些基础知识,把基础知识从书面上拿出来,放到实践中去讲!咱领袖说的好:理论要联系实际吗!哈哈!先看一个最简单的枚举enum吧1 public enum UserBaseColumns2 3 {4 5 UserName = 1,6 7 Age = 2,8 9 }我们如何去使用它呢,很简单,如果我们希望拿到UserBaseColumns.UserName这个枚举元素的值,可以这样写(int)UserBaseColumns.UserName,也就是强转换一下就OK了,因为...
阅读全文
摘要:今天有点时间,来说说如何设计的实体类更加合理,灵活,规范.首先,那要和真实数据表一一对应,必要的话,可以对类型抽象化,可以引入枚举,泛型列表等类型;其次,对实体要集成它的数据有效性的验证功能;再次,为了数据操作方便,有必要去引入数据表字段的列举集合;综上所述,我们来设计一个用户表实体;本例中的知识点为:部分类,接口规范,Flag属性的枚举,迭代器等 /// <summary> /// 数据实体统一接口 /// </summary> public interface IDataEntity { } /// <summary> /// 用户实体 /// <
阅读全文
摘要:第一种,效率较高,也是很多开源项目用的方法,使用了贬型第二种,比较基础,安全性比较高,讲究面向接口的编程,我所以实体对象都继承自统一的接口 #region 数据底层操作架构一 /// <summary> /// 用户实体 /// </summary> public class User { public string UserName { get; set; } public int Age { get; set; } } public class UserRepository : IRepository<User> { #region IRepositor
阅读全文
摘要:global它是全局访问修饰符,即所有对象都是完整路径表示例如:Console.WriteLine();完整表示法:System.Console.WriteLine("ok");那什么时候用global呢,实事上,之个关键字我们一般用的不多,只有在自定义类与系统类重名时才用的,看代码: class Program { public class System { } static void Main(string[] args) { global:: System.Console.WriteLine("ok"); } }我们看到了,program类中也有一
阅读全文
浙公网安备 33010602011771号