- 博客(29)
- 资源 (28)
- 收藏
- 关注
翻译 软件设计原则
SOLIDSingle Responsibility Principle (SRP)Open/Closed Principle (OCP)Liscov Substitution Principle (LSP)Interface Segregation Principle (ISP)Dependency Inversion Principle (DIP)DRY
2014-07-07 18:04:53 881
翻译 IoC,Dependency Injection,Service Locator
控制注入原则,DIP,Dependency Inversion Principle高层模块不应该依赖于低层模块。而两者都应该依赖于抽象(接口)。抽象不应该依赖于细节,细节应该依赖于抽象。DIP通过让高层模块依赖于抽象而不是依赖于低层模块的具体的实现,帮助我们开发松耦合的代码。反转控制模式是这个原则的一个实现方式。 反转控制,IoC,Inversion of Control
2014-07-06 22:40:17 1600
翻译 MVC,MVP,MVVM
MVC模式MVC是Model-View-Controller。MVC强制分离关注点,意思是说领域模型和控制逻辑是通过UI(View)解藕的。使得维护和测试变得简单和方便。MVC把程序分成三个部分,Model,View和Controller。Model:表示一组描述业务逻辑的类,也就是业务模型,以及数据访问操作,也就是数据模型。还定义业务规则,也就是如何改变和操作数据。View:表示
2014-07-06 18:57:22 892
原创 策略模式,Strategy
策略模式的定义是:定义一组算法,封装每个算法,让它们可以互换。让客户端可以单独切换算法。 其UML类图的示例如下:在这个模式中,参与者包括:AbstractFactory:声明一个创建抽象产品接口。ConcreteFactory:实现AbstractFactory,用于创建具体的产品对象。AbstractProduct:声明一
2014-07-05 00:58:38 738
原创 观察者,Obsever
观察者模式的定义是:提供一个接口用于创建一系列相关或依赖的对象,而不需要指定具体的类。 其UML类图的示例如下:在这个模式中,参与者包括:AbstractFactory:声明一个创建抽象产品接口。ConcreteFactory:实现AbstractFactory,用于创建具体的产品对象。AbstractProduct:声明一个
2014-07-05 00:53:47 1163
原创 迭代器,Iterator
迭代器的定义是:提供一种按顺序访问一个聚合型对象中元素的方式,而不用暴露其下层的表示。 其UML类图的示例如下:在这个模式中,参与者包括:AbstractFactory:声明一个创建抽象产品接口。ConcreteFactory:实现AbstractFactory,用于创建具体的产品对象。AbstractProduct:声明一个
2014-07-05 00:41:46 772
原创 命令模式,Command
命令模式的定义是:把请求封装成对象,从而用不同的请求来参数化客户端,队列化或日志化请求,并支持命令的撤消。 其UML类图的示例如下:在这个模式中,参与者包括:AbstractFactory:声明一个创建抽象产品接口。ConcreteFactory:实现AbstractFactory,用于创建具体的产品对象。AbstractProduct:
2014-07-05 00:36:51 936
原创 职责链,Chain of Responsibility
抽象工厂的定义是:提供一个接口用于创建一系列相关或依赖的对象,而不需要指定具体的类。 其UML类图的示例如下:在这个模式中,参与者包括:AbstractFactory:声明一个创建抽象产品接口。ConcreteFactory:实现AbstractFactory,用于创建具体的产品对象。AbstractProduct:声明一个产
2014-07-05 00:27:44 778
原创 代理模式,Proxy
代理模式的定义是:提供一个接口用于创建一系列相关或依赖的对象,而不需要指定具体的类。 其UML类图的示例如下:在这个模式中,参与者包括:AbstractFactory:声明一个创建抽象产品接口。ConcreteFactory:实现AbstractFactory,用于创建具体的产品对象。AbstractProduct:声明一个产
2014-07-05 00:22:37 907
原创 外观模式,Facade
qhc的定义是:提供一个接口用于创建一系列相关或依赖的对象,而不需要指定具体的类。 其UML类图的示例如下:在这个模式中,参与者包括:AbstractFactory:声明一个创建抽象产品接口。ConcreteFactory:实现AbstractFactory,用于创建具体的产品对象。AbstractProduct:声明一个产品
2014-07-05 00:07:51 817
原创 装饰模式,Decorator
抽象工厂的定义是:提供一个接口用于创建一系列相关或依赖的对象,而不需要指定具体的类。 其UML类图的示例如下:在这个模式中,参与者包括:AbstractFactory:声明一个创建抽象产品接口。ConcreteFactory:实现AbstractFactory,用于创建具体的产品对象。AbstractProduct:声明一个产
2014-07-05 00:03:10 860
原创 组合模式,Composite
组合模式的定义是:提供一个接口用于创建一系列相关或依赖的对象,而不需要指定具体的类。 其UML类图的示例如下:在这个模式中,参与者包括:AbstractFactory:声明一个创建抽象产品接口。ConcreteFactory:实现AbstractFactory,用于创建具体的产品对象。AbstractProduct:声明一个产
2014-07-04 23:56:19 874
原创 桥接模式,Bridge
桥接工厂的定义是:提供一个接口用于创建一系列相关或依赖的对象,而不需要指定具体的类。 其UML类图的示例如下:在这个模式中,参与者包括:AbstractFactory:声明一个创建抽象产品接口。ConcreteFactory:实现AbstractFactory,用于创建具体的产品对象。AbstractProduct:声明一个产
2014-07-04 23:46:20 983
原创 抽象工厂,Abstract Factory
抽象工厂的定义是:提供一个接口用于创建一系列相关或依赖的对象,而不需要指定具体的类。 其UML类图的示例如下:
2014-07-04 22:35:53 909
原创 .NET设计模式系列文章索引
创建型模式,Creational Patterns抽象工厂,Abstract Factory。5,提供一个接口用于创建一系列相关或依赖的对象,而不需要指定具体的类。工厂方法,Factory Method。5,定义一个接口用于创建一个对象,但是让子类决定实例化哪个类。工厂方法让类的实例化推迟给子类进行。单例,Singleton。4,确保一个类只有一个实例,并提供一个全局的访问此实例的入口。建
2014-07-04 18:31:35 1266
原创 Windows Security
Windows内核中有几个核心组件和数据库用于安全。 SRM,Security reference monitor。在%SystemRoot%\System32\Ntoskrnl.exe中的组件,负责定义表示一个安全上下文的access token数据结构,在对象上和操作特权(用户权限)执行安全访问检查,以及生成安全审核消息。 LSASS,Local Security Authori
2014-07-02 13:01:14 2240
原创 .NET源码中的Stream类
在System.IO命名间下的Stream类,.NET对它的定义是:Provides a generic view of a sequence of bytes. 也就是一个有序
2014-07-01 23:51:49 1107
原创 .NET源码中的HashSet<T>
内部数据结构定义如下: public class HashSet : ISerializable, IDeserializationCallback, ISet, ICollection, IEnumerable, IEnumerable { private int[] m_buckets; private HashSet.Slot[] m_slots; priv
2014-07-01 21:36:04 2259
原创 .NET源码中的SortedDictionary<TKey, TValue>和SortedList<TKey, TValue>
SortedDictionary和SortedList的功能相同,而内部实现的差异却很大,这就决定了他们的用途和场合了。
2014-07-01 11:05:29 2077
原创 .NET源码中的SortedSet
SortedSet是一个排序的数据集合,其基本数据结构如下:注意到这里有一个 public class SortedSet : ISet, ICollection, IEnumerable, ICollection, IEnumerable, ISerializable, IDeserializationCallback { internal const int StackAll
2014-07-01 00:46:15 1928
UnityVirtualRealityProjectsSampleCode
2016-12-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人