接口技术
WebService是一种跨编程语言和跨操作系统平台的远程调用技术。
wCF是面向服务的应用提供的分布式通信编程框架
web api 是构建HTTP服务的轻型框架,覆盖广泛的客户端, RESTful风格
LINQ
LINQ,语言集成查询,查询数据库相同的方式操作内存数据。
lambda 表达式是一个可用于创建委托或表达式树类型的匿名函数。
ef : 支持面向数据的应用程序的技术的ORM框架
ORM指的是面向对象的对象模型和关系型数据库的数据结构之间的相互转换。
Redis是的Key/Value的内存数据库:
委托是一种可以封装命名(或匿名)方法的引用类型,把方法当做指针传递,但委托是面向对象、类型安全的;
事件基于委托,提供发布订阅机制,事件是对象或类发生改变,对象或类发出信息通知订阅者。
事件是特殊的委托,通过多播委托的方式被多个方法订阅,当事件触发,响应处理方法将会被引用(概念)
事件特殊:
1事件没有返回值,必须代两个参数
2事件是多点委托,或叫多播。即+= 而不能 =
3 能用到委托的地方未必都能用事件替代,用到事件的地方必然可以用委托替代。
索引器允许类或结构的实例按照与数组相同的方式进行索引。索引器类似于属性,不同之处在于它们的访问器采用参数
三层架构:
数据访问层:对数据库的操作
业务逻辑层:对数据业务逻辑处理
界面层:交互界面
目的即为了“高内聚低耦合”
任何一层发生变化都不会影响到另外一层!!!
优点
1 只关注其中一层
2 新的实现替换某一层
3 可重用
4 可维护
5 可扩展
缺点
1 降低性能
2 开发成本高
3 导致联级修改
MVC和三层区别
三层是基于业务逻辑来分的,而mvc是基于页面来分的
三层模式是体系结构模式,MVC是设计模式
三层模式又可归于部署模式,MVC可归于表示模式
索引器与属性的区别:
- 索引器以函数签名方式 this 来标识,而属性采用名称来标识,名称可以任意
- 索引器可以重载,而属性不能重载。
- 索引器不能用static 来进行声明,而属性可以。索引器永远属于实例成员,因此不能声明为static。
以字符串作为下标,对索引器进行存取:
仅当成员(属性or索引器)既有get访问器也有set访问器时,其访问器才能有访问修饰符
值类型大多分配在栈上,引用类型都分配在堆上;
栈由操作系统管理,栈上的变量在其作用域完成后就被释放,效率较高,但空间有限。堆受CLR的GC控制;
栈是基于线程的,每个线程都有自己的线程栈,初始大小为1M。堆是基于进程的,一个进程分配一个堆,堆的大小由GC根据运行情况动态控制;
栈和队列的区别?
(1).队列先进先出,栈先进后出。
(2). 栈是限定只能在表的一端进行插入和删除操作的线性表。
队列是限定只能在表的一端进行插入和在另一端进行删除操作的线性表。
(3).遍历数据速度不同。栈只能从头部取数据, 得为数据开辟临时空间。保持数据在遍历前的一致性。
队列则不同,它基于地址指针进行遍历,无需开辟临时空间,速度要快的多
4 .应用场景不同; 函数调用和递归实现等;常见的队列的应用场景包括 消息缓冲器的管理等。