【第67期实录】专家访谈 - (续)

图形图像支持
.Net图像处理如,GDI+,WPF & Silverlight,提供了非常方便的处理方法,可以用于快速搭建用户界面。
DirectX 是Windows平台强大的图形处理库。可以用于2D,3D。从众多游戏中可以领略其性能。.Net中有接口可以在.Net环境中基于DirectX开发。
同样的原理,我们也可以在.Net中调用C++编写的Dll,这种技术的名称叫做P/Invoke.
MVC框架
MVC,指Model、View和Controller。是一种将数据层和表现层进行分离的设计模式/框架,简单来说,由Model层建立数据模型,由Controller层取得数据,并控制由哪个表示层展示数据,由View层负责数据展示。普通的系统,数据层的代码和表示层的代码混杂,不利于维护。分离后,数据层可以相对稳定,表示层则可以随意变化,甚至对应多个表示层。这便于将数据层和表示层分给两个不同的开发人员来完成,避免对所有开发人员都提出很熟悉系统的要求,便于新成员融入团队。
VSTS && MSF
MSF是一套解决软件开发流程的解决方案(类似于RUP等),它可以知道你在软件生命周期中的开发流程。
而VSTS是开发工具,一般来说,VSTS+TFS这样来搭配Team的开发环境,这样就可以集中管理,TFS里面可以导入msf 相应的过程模板,或者自定义软件过程模板
UML是我们在做分析设计时候不可缺少的工具
一定要明确软件工程的过程,也就是说我们在概念模型设计的时候需要用到use-case.从而根据usecase去分析设计逻辑模型,部署模型,流程图等等,在物理设计的时候再过渡到详细的类图,时序图等等,再转换成为开发的框架代码,这是一个平滑的过程,不能弄混,每种东西要用在何时的地方。
SOA
SOA的讨论。随着XML Web Service技术的普及,关于SOA的讨论逐渐平息下来。
继SOA之后,现在SaaS和S+S两个概念非常引人关注,微软也在这方面有不小投入。目前已经有一个基于.Net 3.0的SaaS 中文应用案例发布1.0版本。请参考 [url]http://www.cnsaas.com/[/url]
当你要做很大的分布式系统的时候就可以体现SOA的价值了,比如一个集团有很多系统,在不同的地方,有在北京的,有在西藏的还有在国外的,每个系统功能都不一样
你所做的web系统需要去访问这些系统,取不同的东西,那么这就可以使用soa来设计,每个系统都提供一个services,你去调用,但是怎么调用呢,那就要根据每个serivices的情况去选择协议,比如你用webservices,你用msqueue等等可以先学习一下WCF,然后试着去写分布式web系统。

开发应用在多内核环境下的系统软件
多线程在.Net中支持是很强大的。
在VS2008种可以中断进程,在每个线程中切换,观察不同线程中变量的状态。

如果是编写多进程的并行程序,可以使用MPI。MPI是在C中的一个并行通讯标准。微软有MPI的实现,包含在WCCS2003,Windows HPC Server2008的SDK中。可以免费下载。

现在还有一个MPI.Net的项目。可以参考。
[url]http://www.osl.iu.edu/research/mpi.net/[/url]

Visual Studio同时支持C#,C++,C等多种语言,对于开发人员是很方面便的。
线程
在单机中的并发主要要注意 线程安全问题。
在.Net每个类的帮助文件中,都会有线程安全的说明。在编写多线程程序的时候,要仔细阅读。
服务器的并发问题比较复杂。在写程序的时候注意及时释放资源,避免形成死锁。
WIN208 SERVER
WIN08”命令模式,而是一种新的选择。WIN08支持按需安装的原则,如,对于文件服务器,则只需要最基本的组件即可实现,这就是您提到的命令模式。这样做的好处是安装最少的组件,可以最小化地带来被攻击的可能,同时避免不停的打一些无关的SP。因此,如果作为ASP.NET的服务器,则可能更加安全。虚拟化则可以更大限度的利用现有的服务器资源,防止资源浪费。同时,不同的程序安装于不同的虚拟服务器上,也避免了因为一个程序出问题而导致整个服务器出问题的情况。

你可能感兴趣的:(职场,专家,休闲,访谈)