Asp.net中怎么进行模块化编程?

Asp.net中如何进行模块化编程??
想把最近做的项目,按功能模块化实现。一个功能一个模块,需要那个添加那个,灵活,可扩展!
现在想建一个解决方案,然后在解决方案下,一个功能建一个project。是三层架构的。
我想现在前台页面怎么做好呢?是放到每个project下吗?合起来是一个网站,前台用的css等的都是一样的。
怎么做比较好呢?谢谢啦!!
回答得好,加分哦!!

------解决方案--------------------
UI 层模块化,其它层组件化
------解决方案--------------------
使用母板,页面上具有相同的页面元素做成用户控件
------解决方案--------------------
动态添加用户控件,看看CMS网站模块化开发