上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 18 下一页
摘要: 在使用Entity Framework为主从表添加数据,当一个表添加数据成功,另一个表添加数据失败,这时候就需要用到事务回滚。 比如有以下关系的2张表。 客户端使用TransactionScope类可以实现事务回滚。 class Program { static void Main(string[] args) { t... 阅读全文
posted @ 2014-09-10 21:49 Darren Ji 阅读(2575) 评论(3) 推荐(1) 编辑
摘要: 移除未使用的命名空间--方法1:右键--"组织using"--"移除未使用的using"--方法2:Shift+F10--"O"—"R" 格式化当前文档,让文档排列齐整--ctrl + K, D 注释--ctrl + K, C 取消注释--ctrl + K, U 满屏/取消满屏--alt + shift + Enter 生成当前项目--shift + F6 生成解决方案--... 阅读全文
posted @ 2014-09-10 15:42 Darren Ji 阅读(598) 评论(0) 推荐(0) 编辑
摘要: 需要记录日志的地方包括:进入方法的时候,传参的时候,统计执行时间,方法返回参数的时候,退出语句块的时候,出现异常的时候,等等。先来体验不使用Micirosoft Unity进行日志记录。 class Program { static void Main(string[] args) { Add(1, 2); Co... 阅读全文
posted @ 2014-09-10 09:36 Darren Ji 阅读(1739) 评论(0) 推荐(0) 编辑
摘要: 简单来说,备忘录模式就是支持回退操作。假设让一个Notepad支持回退操作,如何实现呢? 首先需要一个备忘录类。 public class Memento { private string _msg; public Memento(string msg) { _msg = msg; } publ... 阅读全文
posted @ 2014-09-09 23:14 Darren Ji 阅读(917) 评论(0) 推荐(0) 编辑
摘要: 在显示树形结构时,复合模式有很好的体现。本篇显示如下部门结构: 以上,有的节点包含子节点,有的节点部包含子节点。不管是什么节点,每个节点就代表一个部门。 首先设计一个关于部门的抽象基类。 public abstract class DepartmentComponent { public string Name { private set; get; } ... 阅读全文
posted @ 2014-09-09 19:36 Darren Ji 阅读(1170) 评论(0) 推荐(0) 编辑
摘要: 假设要做一道红烧肉,做法有很多,在不同的做法中都有相同的部分,比如都要放油、放肉、放调料等。也有不同之处,比如有些做法放可乐,有些做法放甜蜜酱,等等。 先提炼出一个抽象类,该类不仅有制作红烧肉的各个步骤,而且还把各个步骤归纳到另一个方法,我们把这个方法称作模版方法。另外,在模版方法中,对于一些不确定的方面先用抽象方法。 public abstract class HongShaoRou ... 阅读全文
posted @ 2014-09-09 08:59 Darren Ji 阅读(384) 评论(0) 推荐(1) 编辑
摘要: 假设想让遥控器控制电灯的开关、电视机的开关和切换,该如何做? 所有的开、关、切换都是遥控器发出的指令,把这些指令统一抽象成一个接口。 public interface IControl { void Execute(); }把电灯、电视机抽象成类。 public class Tv { public void TurnOn() ... 阅读全文
posted @ 2014-09-09 08:32 Darren Ji 阅读(1767) 评论(1) 推荐(1) 编辑
摘要: 假设有一个公司要做产品套餐,即把不同的产品组合在一起,不同的组合对应不同的价格。最终呈现出来的效果是:把产品组合的所有元素呈现出来,并显示该组合的价格。 每个产品都有名称和价格,首先设计一个关于产品的抽象基类。 public abstract class ProductBase { public abstract string GetName(); pub... 阅读全文
posted @ 2014-09-08 09:04 Darren Ji 阅读(798) 评论(0) 推荐(0) 编辑
摘要: 迭代器模式的需求来自:需要对一些集合进行迭代,而迭代的方式可能有很多种。 说到迭代,动作大致包括设置第一个位置,获取下一个位置元素,判断是否迭代结束,获取当前位置元素,大致就这么些。把这些迭代动作封装到一个接口中。 public interface IIterator { void First(); string Next(); bool I... 阅读全文
posted @ 2014-09-07 07:44 Darren Ji 阅读(1096) 评论(0) 推荐(0) 编辑
摘要: 假设有一个软件公司,每当有新产品推出,就把信息通知到一些客户。 把通知这个动作抽象成一个接口。 public interface IService { void Notif(); }客户如果想获得通知,就需要实现以上的接口。这里的客户被看作是观察者。 public class CustomerA : IService { p... 阅读全文
posted @ 2014-09-07 06:32 Darren Ji 阅读(2076) 评论(0) 推荐(0) 编辑
摘要: 当从应用程序全局的角度来看,如果只允许类的一个实例产生,就可以考虑单例模式。 □ 即时加载的单例模式 把类的实例赋值给类的一个静态字段。 class Program { static void Main(string[] args) { Logger log = Logger.GetInstance(); log.... 阅读全文
posted @ 2014-09-06 23:37 Darren Ji 阅读(468) 评论(0) 推荐(0) 编辑
摘要: 所谓的"对象为Null模式",就是要求开发者考虑对象为Null的情况,并设计出在这种情况下的应对方法。 拿"用最简单的例子理解策略模式(Strategy Pattern) "中的例子来说,在我们的客户端程序中只考虑了用户输入1,2,3的情况,如果用户输入其它数字,比如4,就没有一个对应的IBall接口实现类实例产生,于是会报如下的错: 为了应对这种情况,我们专门设计一个类,当用户输入1,2,3... 阅读全文
posted @ 2014-09-06 23:03 Darren Ji 阅读(451) 评论(0) 推荐(0) 编辑
摘要: 当一个动作有多种实现方法,在实际使用时,需要根据不同情况选择某个方法执行动作,就可以考虑使用策略模式。 把动作抽象成接口,比如把玩球抽象成接口。 public interface IBall { void Play(); }有可能是玩足球、篮球、排球等,把这些球类抽象成实现接口的类。 public class Football : IBall { ... 阅读全文
posted @ 2014-09-06 22:37 Darren Ji 阅读(920) 评论(2) 推荐(1) 编辑
摘要: "延迟加载"是指在需要的时候再加载数据。比如获得一个Customer信息,并不会把该Customer的Orders信息一下加载出来,当需要显示Orders的时候再加载。简单来说,就是按需加载。使用"延迟加载"的好处是减少应用程序响应时间,降低内存消耗,避免不必要的数据库交互。 □ 即时加载 创建Order类和Customer类,Customer中维护着Order的一个集合,在Customer的构... 阅读全文
posted @ 2014-09-06 21:45 Darren Ji 阅读(813) 评论(1) 推荐(0) 编辑
摘要: 从.NET 3.0开始,在方法内部可以使用var关键字声明局部变量。var关键字到底是什么?在何种情况下使用呢? □ var关键字用来隐式地声明一个数据类型,变量类型是在编译期确定的,而不是在运行时确定的 声明一个var变量a,把整型数10赋值给a,接着把一个字符串赋值给变量a。运行发现报错:无法将类型string隐式转换为int。 这说明:用var声明一个变量时,虽然不是显式声明,但在编译... 阅读全文
posted @ 2014-09-06 16:21 Darren Ji 阅读(4834) 评论(0) 推荐(0) 编辑
摘要: 当谈到垃圾回收,在C#中,托管资源的垃圾回收是通过CLR的Garbage Collection来实现的,Garbage Collection会调用堆栈上对象的析构函数完成对象的释放工作;而对于一些非托管资源,比如数据库链接对象等,需要实现IDisposable接口进行手动的垃圾回收。那么什么时候使用Idisposable接口,以及如何使用呢? public interface IDisposabl... 阅读全文
posted @ 2014-09-06 08:46 Darren Ji 阅读(1321) 评论(0) 推荐(0) 编辑
摘要: CLR是Common Language Runtime的缩写,是.NET程序集或可执行程序运行的一个虚拟环境。CLR用于管理托管代码,但是它本身是由非托管代码编写的,并不是一个包含了托管代码的程序集,所以不能使用IL DASM进行查看,但CLR以dll的形式位于.NET版本号文件夹内。 □ C#源代码从编译到CLR运行的全过程 →编写C#源代码,以class,struct,enum,interf... 阅读全文
posted @ 2014-09-04 23:31 Darren Ji 阅读(1575) 评论(0) 推荐(0) 编辑
摘要: C#中子类是如何调用父类的?带着这个问题,体验如下: □ 通过子类无参构造函数创建子类实例 创建父类Person和子类Student。 public class Person { public Person() { Console.WriteLine("我是人"); } } public class Stude... 阅读全文
posted @ 2014-09-04 09:09 Darren Ji 阅读(4893) 评论(0) 推荐(0) 编辑
摘要: 在System.Speech命名空间下,SpeechSynthesizer类可以把文字读出来,一起来玩下~~ 首先在Windows窗体项目中引入System.Speech。界面部分: 后台代码也很简单,只不过调用了SpeechSynthesizer类的一些方法:using System.Windows.Forms;using System.Speech;using System.Speech.... 阅读全文
posted @ 2014-09-03 23:46 Darren Ji 阅读(1382) 评论(2) 推荐(1) 编辑
摘要: 本篇体验使用dos命令行窗口实现各种操作。 □ 打开dos命令行窗口 →点击电脑左下角"开始"按钮→点击"运行"→输入"cmd",按回车,来到dos命令行窗口 C:\Users\Adminstrator>是默认的文件夹,能在C盘Users文件夹下的找到对应的Adminstrator文件夹。 □ 基本操作 →在C盘下创建一个名为S的文件夹→输入如下命令● cd\,进入到根文件夹● cd s,进入... 阅读全文
posted @ 2014-09-02 23:45 Darren Ji 阅读(1197) 评论(0) 推荐(0) 编辑
摘要: 断点调试发现报错的语句为:public ActionResult SomeMethod(string someId){ var temp = SomeService.LoadEntities(a => a.ID == int.Parse(someId));}原因是:在Lambda表达式内部不能实现数据类型转换。解决方法:在使用Lambda表达式之前,先对数据类型进行转换。public Act... 阅读全文
posted @ 2014-09-02 15:53 Darren Ji 阅读(2041) 评论(1) 推荐(0) 编辑
摘要: 最近在ASP.NET MVC项目中碰到这样的情况:在一个controller中设置了Session,但在另一个controller的构造函数中无法获取该Session,会报"System.NullReferenceException"错误。之所以这样做是因为希望在controller构造函数中获取Session值并赋值给一个全局变量,好让该controller的多个action共享。 起先以为是A... 阅读全文
posted @ 2014-09-02 11:23 Darren Ji 阅读(26225) 评论(4) 推荐(6) 编辑
摘要: 在用户权限系统中,有时候需要根据用户的签约时间和签约时长来判断是否到期。先帮助类: public static class DateExprieHelper { /// /// 根据签约时间和签约时长来判断是否到期 /// /// 签约时间 /// 签约时长 /// public s... 阅读全文
posted @ 2014-08-28 11:32 Darren Ji 阅读(1280) 评论(2) 推荐(2) 编辑
摘要: 页脚部分比较简单,把一个12列的Grid切分。 Copyright ©新浪体育 关于我们 ... 阅读全文
posted @ 2014-08-27 15:41 Darren Ji 阅读(6162) 评论(0) 推荐(0) 编辑
摘要: □ ListGroup展示内容 当希望把同类型的内容以列表、区块展示的时候,ListGroup是不错的选择。 马云为恒大生死战开出男人奖 8月27日晚,广州恒大将迎来亚冠联赛生死战,主场迎战西悉尼流浪者队,由于一周之前已经在客场0-1负于对手,本场比赛恒大队必须置死地而后生... 阅读全文
posted @ 2014-08-27 15:12 Darren Ji 阅读(1217) 评论(0) 推荐(1) 编辑
摘要: 本篇体验用Tab插件显示内容。Html部分为: 兰帕德宣布退出英格兰队 英超 西甲 ... 阅读全文
posted @ 2014-08-27 12:15 Darren Ji 阅读(2386) 评论(0) 推荐(2) 编辑
摘要: 在Bootstrap页面中,通常用Panels来展示主要功能的内容。该部分Html为: 更多信息 广州恒大淘宝队的官方网站和微博同时发布了几张海报,预热本周三晚8点即将到来的亚冠1/4决赛第二回合。 ... 阅读全文
posted @ 2014-08-26 22:54 Darren Ji 阅读(1126) 评论(0) 推荐(0) 编辑
摘要: 通常把一些重要信息、需要重点标注的信息放在轮播的下方显示,这部分区域用到了大字体的标题、副标题以及段落文字等。 梅西升腾小宇宙仍是2014年的王 ... 阅读全文
posted @ 2014-08-26 18:29 Darren Ji 阅读(1201) 评论(0) 推荐(0) 编辑
摘要: 本篇体验图片轮播。html部分为: ... 阅读全文
posted @ 2014-08-26 10:56 Darren Ji 阅读(1222) 评论(0) 推荐(0) 编辑
摘要: “使用Bootstrap 3开发响应式网站实践”系列,将使用Bootstrap 3.2制作一个自适应网站,无论是在电脑、平板,还是手机上,都呈现比较好的效果。在电脑浏览器上的最终效果如下: 在手机上的呈现效果如下: 本篇主要包括: □ 前期准备□ 引入Bootstrap,jQuey文件等□ 搭建页面主体结构□ 导航区域 □ 前期准备 →使用Visual Studio 2012创建一个空的... 阅读全文
posted @ 2014-08-25 14:11 Darren Ji 阅读(2111) 评论(0) 推荐(2) 编辑
摘要: 类似Page Header, Breadcrumbs, Dropdowns等,都是Bootstrap的组件,是静态的。如果涉及到交互,Bootstrap提供了插件。这些插件包括: ○ 过渡效果: bootstrap-transition.js○ 模态对话框:bootstrap-modal.js○ 下拉项:bootstrap-dropdown.js...... 这些插件可以单独引入到页面。而在bo... 阅读全文
posted @ 2014-08-24 12:47 Darren Ji 阅读(3771) 评论(0) 推荐(0) 编辑
摘要: 本篇主要包括: ■ Page Header■ Breadcrumbs■ Button Groups■ Dropdowns■ Button Dropdowns■ 用Button和Dropdowns模拟Select■ Input Groups■ Thumbnails■ Panels■ Wells □ Page Header Page Header是指页面最顶部。 ... 阅读全文
posted @ 2014-08-23 11:30 Darren Ji 阅读(1551) 评论(0) 推荐(0) 编辑
摘要: 本篇主要包括: ■ 排版■ Button■ Icon■ Nav和NavBar■ List■ Table■ Form 排版 ● 斜体:● 加粗体:● 突出段落:class="lead"● 字体颜色:class="text-success",class="text-muted",class="text-success",class="text-primary",class="text-warnin... 阅读全文
posted @ 2014-08-22 20:31 Darren Ji 阅读(3866) 评论(1) 推荐(0) 编辑
摘要: 本篇主要包括: ■ 自定义CSS■ 自定义Theme■ 自定义Package 自定义CSS 有时候,需要自定义或重写Bootstrap默认的CSS。→在css文件夹下创建一个site.css→假设要对container类重写,在site.css中.container { background-color: #eee;}→把site.css引用到index.html中,并放置在bootst... 阅读全文
posted @ 2014-08-22 17:01 Darren Ji 阅读(4233) 评论(0) 推荐(1) 编辑
摘要: 本篇主要包括: ■ 添加独立的一行■ 文字环绕■ 图片自适应■ 隐藏元素 添加独立的一行 在id为body的section和id为main的section之间,添加2张图片。 我们发现,新加的2张图片把主体内容挤到了右侧。 那么,我们如何处理新加的2张图片呢?--我们不太可能用container,因为它是页面布局层面的类名。但我们可以把这2张图片放在class名为row的div中。 我们还... 阅读全文
posted @ 2014-08-22 13:20 Darren Ji 阅读(8062) 评论(0) 推荐(1) 编辑
摘要: 本篇主要包括: ■ Grid简介■ 应用Grid■ Multiple Grids Grid简介 Bootstrap中,把页面分成12等份,这就是所谓的Grid。 在Bootstrap中,用类名控制,这些类型遵循".col-xx-6"类似的形式。 2个6就占满整个页面。所以,类名最后面的数字表示要占几个格子。 又比如,3个4也占满整个页面。 又比如,4个3也占满整个页面。 又比如,6个... 阅读全文
posted @ 2014-08-22 10:40 Darren Ji 阅读(2757) 评论(2) 推荐(0) 编辑
摘要: 本篇主要包括: ■ 下载Bootstrap 3■ Bootstrap 3引入页面 下载Bootstrap 3 →打开网站:http://getbootstrap.com/→点击屏幕中央位置的Download Bootstrap按钮→来到Bootstrap的下载页,有3个按钮可供选择:Download Bootstrap, Download source, Download Sass,本人选择... 阅读全文
posted @ 2014-08-22 08:37 Darren Ji 阅读(1853) 评论(0) 推荐(1) 编辑
摘要: 在jQuery中,on方法可以为元素绑定事件,trigger方法可以手动触发事件,围绕这2个方法,我们来体验jQuery中的观察者模式(Observer Pattern)。 ■ on方法绑定内置事件,自然触发 比如,我们给页面的body元素绑定一个click事件,这样写。 hello以上,我们只有点击body,才能触发click事件。也就是说,当给页面元素绑定内置... 阅读全文
posted @ 2014-08-21 14:17 Darren Ji 阅读(2996) 评论(0) 推荐(0) 编辑
摘要: jQuery异步获取json数据有2种方式,一个是$.getJSON方法,一个是$.ajax方法。本篇体验使用这2种方式异步获取json数据,然后追加到页面。 在根目录下创建data.json文件:{ "one" : "Hello", "two" : "World"}■ 通过$.getJSON方法获取json数据 ■ 通过$.ajax方法获取json数据 ... 阅读全文
posted @ 2014-08-21 11:13 Darren Ji 阅读(551) 评论(1) 推荐(0) 编辑
摘要: 本篇体验使用jQuery制作水平的、多级的、下拉菜单。 下拉菜单的html部分如下。 主页 产品 服务 网页设计 图形设计 视频制作 ... 阅读全文
posted @ 2014-08-21 10:28 Darren Ji 阅读(1070) 评论(0) 推荐(1) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 18 下一页

我的公众号:新语新世界,欢迎关注。