1、序列化
序列化就是将对象处理为字节流以存储对象或传输到内存、数据库或文件。其主要的目的是保存对象的状态,以便可以在需要时重新创建对象。相反的过程称为反序列化。
https://msdn.microsoft.com/zh-cn/library/ms233843(v=vs.120)
2、常说的三层设计
- User Interface Layer(用户界面层)
- Domain Logic Layer(领域逻辑层)
- Data Access Layer (数据访问层)
3、
设计模式定义:
设计模式是针对日常软件开发问题的技巧、通用和可复用的解决方案,程序员可以通过设计模式组织程序中的对象,使其易于编写和修改,以提高代码效率。——《C#设计模式》
所有设计模式的实现都遵循一条原则,即“找出程序中变化的地方,并将变化封装起来”。
一个程序的设计总是可以分为可变的部分和不变的部分。当我们找出可变的部分,并且把这些部
分封装起来,那么剩下的就是不变和稳定的部分。这些不变和稳定的部分是非常容易复用的。这
也是设计模式为什么描写的是可复用面向对象软件基础的原因。 ——《JavaScript设计模式与开发实践》
4、设计模式分三类,23种:
创建型:规定了创建对象的方式;
结构型:规定了如何组织类和对象;
行为型:规定了对象之间交互的方式;
5、
创建型模式是创建对象而不是直接实例化对象,这会使程序在判断给定情况下创建哪一个对象时更为灵活。
结构型模式可以将一组对象组合成更大的结构,例如复杂的用户界面或报表数据。
行为模式定义系统内对象间的通信,以及复杂程序中的流程控制。
6、设计模式 & 框架
设计模式更关注于复用可重复出现的结构设计方案,而框架注重于具体设计和实现。
7、面向过程的程序设计和面向对象(OO)的程序设计的主要差别在于类的出现。
8、接口的优点是它提供了一种让一个类成为两个类的子类的方式:一个是继承,一个来自子接口,如果实现该接口的类漏掉了一个接口方法,编译器会产生错误。(这样就硬性保证了标准了)
9、Linq 查询返回类型有IEnumerable 和 IQueryable(以及他们的泛型IEnumerable
IEnumerable先出现,后来由于.NET 版本升级,出现Linq ,IQueryable 就继承了IEnumerable所有的功能。
IEnumerable会加载所有数据到内存,在筛选需要的。IQueryable只会加载需要的数据到内存。
如果表数据少,可以直接全部加载,比如用于存系统配置功能的系统表可以用IEnumerable。
如果是业务数据表,可以按需加载,使用IQueryable,节省带宽资源和内存。
10、
DAO叫数据访问对象
DTO (Data Transfer Object) 是数据传输对象
DAO通常是将非对象数据(如关系数据库中的数据)以对象的方式操纵。
DTO通常用于不同层(UI层、服务层或者域模型层)直接的数据传输,以隔离不同层,降低层间耦合