1、数据库
因为C#提供的ADO.NET几乎支持所有主流数据库,因此“用什么数据库”没有一般性的习惯,完全是根据需求来决定。
(我们只讨论关系型数据库,nosql数据库先不讨论)
(我们只讨论关系型数据库,nosql数据库先不讨论)
迷你项目或者小型项目,出于成本考虑会使用MYSQL或者ACCESS。 前者免费,后者集成在office,这些数据库的性能都足够支撑一个小型的系统。
大中型项目一般使用SQL SERVER, 从开发的角度来看,大中型项目由于复杂度较高,而MSSQL可以和VS紧密结合,减少开发成本(MSSQL是最好上手的数据库了),同时在分布式应用上,MSSQL目前是关系型数据库中性能最好的。而且MSSQL的性能和容灾级别足够应付一般的大型应用。
大型平台应用(比如一个公司的集成化产品平台),或者非常重要的数据系统一般就不再使用MSSQL了,而是使用oracle。oracle相比MSSQL提供更好的安全机制以及更加完善的容灾备份策略(oracle可以在linux、unix平台运行,而且高度可拓展),但是价格昂贵,并且集群式处理的效率不高。
大中型项目一般使用SQL SERVER, 从开发的角度来看,大中型项目由于复杂度较高,而MSSQL可以和VS紧密结合,减少开发成本(MSSQL是最好上手的数据库了),同时在分布式应用上,MSSQL目前是关系型数据库中性能最好的。而且MSSQL的性能和容灾级别足够应付一般的大型应用。
大型平台应用(比如一个公司的集成化产品平台),或者非常重要的数据系统一般就不再使用MSSQL了,而是使用oracle。oracle相比MSSQL提供更好的安全机制以及更加完善的容灾备份策略(oracle可以在linux、unix平台运行,而且高度可拓展),但是价格昂贵,并且集群式处理的效率不高。
实际项目中,一定是先根据客户的要求(客户如果指定要用MYSQL,哪怕你再大的项目也得用),然后考虑开发成本(有的小项目的价格还不够买一套oracle),去综合考虑整个应用该使用哪种数据库。
2、服务器
服务器系统(百度百科):https://baike.baidu.com/item/%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%B3%BB%E7%BB%9F/2997788?fr=aladdin
解读web服务器
3、N层架构
N-tier architecture N层架构:
三层架构:
什么是 N 层体系结构?
4、.NET、ASP.NET、.NET Framework、c#的区别
.NET分成两个方面:
(1)WinForm
(2)WebForm
ASP.NET就是属于WebForm,也就是平时说的B/S模式的开发。 asp.net是一种技术,用于开发Web应用(同比还有开发客户端的WPF、WinForm等)
而WinForm就是属于C/S模式。
.NET有很多种语言组成,比如C#、 VB.NET、J#、Jsript、Managed C++,但是都是运行在.NET FrameWork Run Time底下的。
Asp.NET 可以用C#或VB.NET来开发。 编译后形成CLR,通过服务器的IIS+.NET FrameWork再次编译来运行。
C#是表现技术所用的语言,当然可以用C#去写asp.net,也可以用vb.net。
总之,ASP.NET是.NET Framework环境下的动态网页编程技术;
NET Framework是.NET的基础框架,是工具包。比如你用C#写成的asp.net网站需要使用framework提供的基础类(比如dataset),并运行在.net framework的环境中。
Visual Studio.NET是用于开发软件的一个集成环境(IDE)。
5、上位机、下位机
6、C/S
简单的,C/S结构体系是一种软件系统。网络上软件系统大致可以分为B/S和C/S结构的。可以从以下两个层次面认识: 小型系统:使用的C/S系统,基本只是简单的读取数据库,显示到前台而已。一般也就分为两层:服务器端、客户端,所实现的也是胖客户端。服务器上也就只是运行数据库而已。
而当系统规模够大,就必须谈到架构了。一个大型C/S架构大致可以划分为:实体层、业务逻辑层、用户控件层、前台界面层。
而当系统规模够大,就必须谈到架构了。一个大型C/S架构大致可以划分为:实体层、业务逻辑层、用户控件层、前台界面层。
学习网址:
7、MVC
8、ADO.NET