像这样的程序怎么重构优化

像这样的程序如何重构优化?
我有10个界面,都有DataGrid,每个都有一样的Style,列不一样,每个都有很多事件处理,导致每个界面都有很多代码行,很多还是一样的结构。我想能否重构优化一下程序结构,很多应该可以抽象出来重用的,哪位给个思路或者给个例子给小弟

------解决方案--------------------
方法有很多,因为不知道你是C/S结构程序还是B/S结构程序。
不过都有用户控件。你可以自定义一个用户控件。这个用户控件主要就是DataGrid。在控件中定义好了风格(style)。统一的事件处理就好了。
------解决方案--------------------
可以用MVC模式重新设计一下,分离出有关Model处理的部分给Controller做,View只被动做显示和更新页面,例如button1.Click += new EventHandler(controller.StartCommand)。另外可以利用delegate,控件包装也是可行的办法