1、不要浪费时间找最佳环境。 许多学生认为只要找到了最佳的学习环境,学习就会变得轻而易举,所以他们花了大量的时 间找寻和尝试不同的地方,寝室、咖啡馆、图书馆、草坪……大把的时间浪费于此。更糟的是, 你会觉得,除非你找到理想的学习地点,否则你根本无法学习。有没有什么好办法?找一个 相对安静的地方开始学习。一旦你投入到学习中去,你会觉得周围的环境还不错。 2、不要把准备工作当学习。 一些学生常常‌‌“准备好要学习‌‌”,却从没有真正开始。不要把清理桌子、整理电脑文件和‌‌“准 备好要学习‌‌”当成学习。即使在学习的地方,如果你只是泡在Facebook上,发状态说我正在 学习,也不是... 阅读全文

Android 4.4 带来了沉浸式全屏体验, 在沉浸式全屏模式下, 状态栏、 虚拟按键动态隐藏, 应用可 以使用完整的屏幕空间, 按照 Google 的说法, 给用户一种 “身临其境” 的体验。 Android 4.4 中提供了 IMMERSIVE 和 IMMERSIVE_STICKY 标记, 可以用这两个标记与 SYSTEM_UI_FLAG_HIDE_NAVIGATION 和 SYSTEM_UI_FLAG_FULLSCREEN 一起使用, 来实现沉 浸模式。 注意: 这些标 记在Xamarin.Android 中被映射为 Android.Views.SystemUiFlags... 阅读全文

从源代码编译最新版本的 mono 网上已经有很多从源代码安装 mono 的资料了, 所以就不再啰嗦了, 没有做过的可以参考这两篇文章: 在 Ubuntu Server 上安装配置 Mono 生产环境 CentOS 6.3下 安装 Mono 3.2 和Jexus 5.4 推荐用 git 从源代码获取 mono 源代码的方式来编译安装, 以后更新也很方便。 我获取 mono 最新版 源代码编译安装之后, 版本信息如下图所示: 对于某些 linux 发行版, 可能还没有下列网站的 https 证书, 因此需要导入并同步一下几个网站的 https 证书, 否则无法继续后面... 阅读全文

.Net 环境下测试 数据库环境以及 NHibernate 配置 SQL Server 环境为 VS2013 自带的 localdb v11.0, 对应的 NHibernate 配置为: var cfg = new Configuration(); cfg.SetProperty(Environment.ConnectionString, "Data Source=(localdb)\\Projects;Initial Catalog=TestDB;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServ... 阅读全文

结构 说明 Provide a surrogate or placeholder for another object to control access to it. 为其他对象提供一个代理以控制对这个对象的访问。 适用条件 远程代理: 为一个对象在不同的地址空间提供局部代表; 虚代理: 根据需要创建开销很大的对象; 保护代理: 控制对原始对象的访问; 智能指引: 取代了简单的指针, 并在访问对象时执行一些附加操作。 实现 public interface IImage { void DisplayImage(); } public c... 阅读全文

结构 说明 Use sharing to support large numbers of similar objects efficiently. 通过共享以便有效的支持大量小颗粒对象。 适用条件 一个程序使用了大量的对象; 完全由于使用大量的对象, 造成了很大的存储开销; 对象的大多数状态都可以变为外部状态; 如果删除对象的外部状态, 那么可以使用相对较少的共享对象取代很多组对象; 应用程序不依赖于对象标识, 由于享元对象可以被共享, 所以概念上明显有别的对象, 标识测试将返回真值; 实现 public interface ICoffeeOr... 阅读全文

结构 说明 Provide a unified interface to a set of interfaces in a subsystem. Facade defines a higher-level interface that makes the subsystem easier to use. 为子系统中的一组接口提供一个一致的界面, 外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 适用条件 为一个比较复杂的子系统提供一个简单的接口; 将客户程序与子系统的实现部分分离, 提高子系统的独立性和可移植性; 简化子系统间的依赖关系。 ... 阅读全文

结构 说明 Attach additional responsibilities to an object dynamically keeping the same interface. Decorators provide a flexible alternative to subclassing for extending functionality. 向某个对象动态地添加更多的功能。修饰模式是除类继承外另一种扩展功能的方法。 适用条件 在不影响其他对象的情况下, 以动态且透明的方式添加单个对象的功能; 处理那些可以撤销的功能; 不能采用生成子类的方法扩充... 阅读全文

结构 说明 Compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects and compositions of objects uniformly. 把多个对象组成树状结构来表示局部与整体,这样用户可以一样的对待单个对象和对象的组合。 适用条件 四则运算、逻辑运算以及 SQL 语句等都可以用组合模式表示; 命令: 一个命令经常可以有若干个子命令表示; 事务: 最典型的事务时测试用... 阅读全文

结构 说明 Decouple an abstraction from its implementation allowing the two to vary independently. 将一个抽象与实现解耦,以便两者可以独立的变化。 适用条件 不希望在业务和业务的具体实现之间存在固定的绑定关系; 希望类的抽象和实现部分可以扩充, 进而实现不同的抽象接口和实现部分的组合; 复用实现部分。 实现 interface IDrawingApi { void DrawCircle(double x, double y, double radius); ... 阅读全文

结构 说明 Convert the interface of a class into another interface clients expect. An adapter lets classes work together that could not otherwise because of incompatible interfaces. 将某个类的接口转换成客户端期望的另一个接口表示。适配器模式可以消除由于接口不匹配所造成的类兼容性问题。 适用条件 需要使用一个已经存在的类, 但接口与设计要求不符; 需要创建一个可复用的类, 该类可以与其它不相干的类... 阅读全文

结构 说明 Ensure a class has only one instance, and provide a global point of access to it. 确保一个类只有一个实例,并提供对该实例的全局访问。 适用条件 当类只能有一个实例存在, 并且可以在全局进行访问时, 这个唯一的实例应该可以通过子类实现扩展, 并且用户无需更改代码即可使用。 实现 public class DoublecheckSingleton { private volatile static DoublecheckSingleton _instance; pr... 阅读全文