Tuesday, September 14, 2010

如何循序渐进向DotNet架构师发展

微软的DotNet开发绝对是属于那种入门容易提高难的技术。而要能够成为DotNet架构师没有三年或更长时间的编码积累基本上是不可能的。特别是在大型软件项目中,架构师是项目核心成员,承上启下,因此       RUP方法论也认同以架构为核心,体现4+1视图在整个软件开发过程中的重要作用。架构人员既要精通技术,又要熟悉业务,而且基本对软件生命周期各阶段的相关技术都需要有相关的积累和知识储备,而这些不经过多年的磨练是很难达到这个高度的。

要成为一个合格的架构师首先必须是一个合格或优秀的编码人员,对于开发来讲编码始终都是最重要的一项技能,在编码过程中只要自己善于去思考和分析问题,就 可以多学到很多相关的知识和技术。所以我们在开发过程中一定要注意新知识和新技术的学习,前人经验和成果的学习。编码过程中应该去思考的一些问题有:

1.在编码过程中自己是否做单元测试,是否使用相关工具做单元测试,如果没有的话是什么原因无法把单元测试做起来?
2.自己编码的泄露率情况,编码泄露的BUG的原因分析
3.是否有意识的对代码进行重构,重构过程中是否引入了相关设计模式的思想?
4.是否对C#语言的一些高级特性进行学习,如反射调用,异步处理等。
5.是否对Remoting和WebService两种分布式技术做过研究和对比分析?
6.是否经常研究开源项目和开源代码,如Duwamish,PetShop,NUnit,Enterprise       Library,Nant等
7.是否对对象持久化机制和O/R       Mapping等相关技术做过相关的研究
8.平时在编码过程中是否注重公用组件和公用类的复用和抽取
9.自己在平时工作和学习中是否经常开发些小工具提高工作效率,巩固学习知识


设计和编码其实是密切而不可分的,对于严格将设计和编码分开的瀑布模型一般也仅仅在大型项目中应用。而及时编码和设计分离,也不是将编码人员不需要思考, 编码活动始终是一项创造性的劳动,如果否定这个观点那就代表编码过程完全不需要人员介入而可以完全自动化。因此在这里谈设计主要还是指设计人员的系统化思 维能力,设计人员应该比开发人员站高一个层次来分析和思考问题。设计人员最重要的一个技能就是现实-   >抽象的转换,而这个就需要谈到方法论的问题了,技术人员需要积累面对对象分析和设计或结构化分析知识的积累,需要有较强的数据库分析和设计能力。一个设计能否成为很好的架构师关键就在这种积累的深度和广度上面了。

因此在设计过程中应该考虑的问题有:
1.你现在分析和设计能力能否胜任大中型的应用系统还是只是独立功能分析和设计?
2.设计过程中是否有意识的考虑到组件的复用和相关接口设计准则。是否能够很自然的将分析模式,设计模式的相关内容应用到自己的设计过程中。
3.是否对XP,RUP,面向对象,结构化等方法论都有过较系统化的学习和思考。
4.是否真正理解系统功能需求和非功能需求对系统设计的不同的指导作用。
5.对自己设计的功能是否会根据后期的变更来反思自己的设计为何不能很好的适应变更?
6.是否在设计过程中经常自己开发些原型来对自己的设计思路进行验证?
7.是否专注技术的同时开始专业业务流程的分析,关注业务建模?


如果我们在设计和开发过程中经常关注这些知识和技能的话,成为一个合格的架构师是早晚的事情。平时能够胜任工作开发用到的知识和技能是微不足道的,如果自 己不是有意识的去学习这些知识的话,那技能是很难得到进一步提高的。我参加过两次微软的架构师培训,在北京的微软架构峰会上也有机会专门参加了 P&P       Workshop的学习,培训老师是微软总部SmartClient       Architecture       and       Design       Guide一书的作者Edward       A.Jezieski,让我感受最深是老外深刻的技术底蕴,对程序开发的执著。

对于DotNet架构经常用到的知识和技能储备有
1.RUP方法论,4+1视图。用例驱动业务建模-   >分析模型-   >设计模型
2.用例模式-   >分析模式-   >设计模式
3.常用的分布式技术
4.对安全,异常,日志,性能等非功能性需求的关注
5.对应用系统整体业务的关注

相关的一些参考书籍(微软网站和电驴都可以下载到)

微软网站提供的参考书籍
Enterprise Solution Patterns Using Microsoft.NET
.NET Data Access Architecture Guide
Application Architecture for .NET:Designing Applications and Services
Caching Architecture Guide for .NET Framework Applications
Designing Application-Managed Authorization
Smart Client Architecture and Design Guide

其它架构方面的参考书籍
Software Architecture In Practice
Pattern-Oriented Software Architecture
The Art Of  Software Architecture
Beyond Software Architecture

模式方面的书籍
Analysis Patterns
Design Patterns-Elements of Reusable Object-Oriented Software
Applying UML and Patterns
Design Pattern***plained     

Dedicated Hosting Offers 2010

GigeNET.com
 
http://www.webhostingtalk.com/showthread.php?t=975819&highlight=gigenet
http://www.webhostingtalk.com/showthread.php?t=963571&highlight=gigenet
http://www.webhostingtalk.com/showthread.php?t=956737&highlight=gigenet

The Cleverest Ways to Use Dropbox (Tips)

Free utility Dropbox is great at syncing files between computers, but it has a lot more potential than just that. Here's a handful of clever ways you can use Dropbox that you may not have thought of.
If you haven't read our first article on this subject, be sure to check out how to use Dropbox for more than just file syncing, where we covered using it to sync passwords across PCs, access portable applications from anywhere, or control your computer remotely. Let's add to those ideas and walk through a number of interesting use cases for Dropbox.

Store Your Files in an Encrypted TrueCrypt Volume

The Cleverest Ways to Use Dropbox That You're Not Using
If data security is a big concern for you, create an encrypted TrueCrypt volume and store it in your Dropbox folder so you can sync it to anywhere. You can take it a step further by storing the portable version of TrueCrypt in your Dropbox folder as well, to save time if you need to get into your encrypted volume from a PC that isn't already hooked into Dropbox. Aren't too familiar with TrueCrypt? Check out our beginner's guide to get you started.
Once you've got your TrueCrypt volume up and running, you can install all of your portable applications, documents, and anything else you want to keep completely secure. You might be concerned about syncing such a large file between PCs, but since Dropbox only transfers the part of the file that has actually changed, there shouldn't be too much bandwidth being used.

Use Shared Folders as a Cheap Network Drive for Remote Teams

The Cleverest Ways to Use Dropbox That You're Not UsingOver at How-To Geek, since our team is geographically all over the map, we use Dropbox's shared folders feature to simulate the type of shared network drive you might find in a corporate environment. We store all of our important files like business documents, artwork, and other files, in our shared folder—whenever any of us changes a file, the rest of us get the changed version in seconds.
The really great feature that sets Dropbox apart from the rest as a shared network drive for a team is the file revisions—whether a file gets accidentally deleted, or much more commonly, overwritten with a bad version, you can easily recover the older version of the file through the web interface.

Make Dropbox Your Actual "My Documents" Folder

The Cleverest Ways to Use Dropbox That You're Not UsingOne of the complaints many people have about Dropbox is that it's actually a separate folder, and you have to remember to put your documents there in order to have them be synced, rather than just specifying particular folders to sync. Instead of remembering, you can actually change your My Documents folder to be the same as your Dropbox folder, or be in a folder inside your Dropbox.
To do so for Windows 7 or Vista, just right-click on your Documents folder, select Properties, and then on the Location tab you can specify the new file path, and click the Move button. The process is very similar in Windows XP, but you'll need to change the Target value instead.
If you don't want to move your documents folder, but still want quick access, be sure to check out how to add your Dropbox folder to the Windows 7 Start Menu.

Create Your Own Customized Browser Start Page

The Cleverest Ways to Use Dropbox That You're Not UsingSince Dropbox makes it easy to create publicly shared files accessible through a URL, you can create your own customized start page for your browser, complete with bookmarks and anything else your HTML skills and imagination can come up with. This can be especially useful for your mobile device, where start pages aren't always tailored to what you might really want. Just create the HTML file, store it in your Public folder, and then grab the public URL from the Dropbox context menu to set as your start page.
If your HTML skills are lacking, you can check out this tutorial from reader elasticthreads, who has a custom search page using the web-command-line service YubNub to make quick work of searching from your mobile device using a number of services, like Google Images, Maps, or Amazon.

Start Your Torrents from Any Computer

The Cleverest Ways to Use Dropbox That You're Not Using
Rather than wait until you get back home to start a download, why not start them remotely from anywhere? All you have to do is set your torrent client to monitor a folder in your Dropbox, and then add the torrent files to the folder remotely—you can even upload them through the web interface if you want. Most of the popular torrent clients, like uTorrent, support this feature, and while there are other ways to remotely start a download, this is certainly one of the easiest.

Take Useful Information With You

Since you can easily sync your data to your iPhone, or access files through the mobile web interface, you can keep your collection of PDF books or other files in your Dropbox folder. You can use this to turn your iPhone, iPad, or other mobile device into an eBook reader from anywhere.
Reader @joeattardi has an even more clever use: he downloads PDF files from restaurants with nutrition facts, so he can get informed nutrition data while he's on the go. The same technique could be used for all sorts of helpful information—quick shortcut guides, useful fact sheets, or anything else you can imagine and might need while you're away from your PC.

Sync Your Music, Access from Anywhere, or Share With Friends

Having access to your music collection from anywhere is always a favorite technique for any web-based sync system, and Dropbox is no slouch in that department. You can put your entire music collection in your Dropbox folder and keep it in sync between all of your PCs, as well as listen through the web interface.
The Cleverest Ways to Use Dropbox That You're Not UsingIf you're an iTunes user, moving your library to your Dropbox folder is easy—first, make sure iTunes is closed, then move your iTunes music folder into your Dropbox folder. Then just hold down the Shift key (or Option for Macs) while you open iTunes, and you'll be presented with a prompt to choose which iTunes library to use, so choose the folder from the new location.
On the secondary PC, you can just use the Shift key trick to choose the folder from the new location in your Dropbox.
The Cleverest Ways to Use Dropbox That You're Not UsingOnce all your music is over on your Dropbox, you can access it through the web interface from any web browser, including your iPhone or some other web-connected devices. It might not be the perfect web-based music interface, but it's certainly functional enough to use.

Source: http://lifehacker.com/5527055/the-cleverest-ways-to-use-dropbox-that-youre-not-using