Oop &引用;“逆向工程”;应用程序架构
我继承了一个用C#/.NET2.0编写的旧应用程序。(联合国)幸运的是,没有任何文件,甚至没有评论。因此,在我根据新的需求为应用程序添加增强功能的同时,我也在构建一个关于应用程序做什么以及如何做的心智模型——换句话说,就是架构 我想知道有什么工具可以“解构”应用程序,从原始代码到更高的层次?这个应用程序在OO中并不是很重——事实上,其中一个使用的对象被称为“函数”。这主要是一堆方法——很多方法似乎都是无中生有的Oop &引用;“逆向工程”;应用程序架构,oop,architecture,reverse-engineering,conceptual,Oop,Architecture,Reverse Engineering,Conceptual,我继承了一个用C#/.NET2.0编写的旧应用程序。(联合国)幸运的是,没有任何文件,甚至没有评论。因此,在我根据新的需求为应用程序添加增强功能的同时,我也在构建一个关于应用程序做什么以及如何做的心智模型——换句话说,就是架构 我想知道有什么工具可以“解构”应用程序,从原始代码到更高的层次?这个应用程序在OO中并不是很重——事实上,其中一个使用的对象被称为“函数”。这主要是一堆方法——很多方法似乎都是无中生有的 我想将原始代码转换成某种需求文档,说明应用程序的功能和执行方式。最好的方法是什么?有
我想将原始代码转换成某种需求文档,说明应用程序的功能和执行方式。最好的方法是什么?有什么应用程序可以帮助我吗?也许我应该/不应该包括的模板?可能是你推荐的书籍/网站?目标是为我和未来维护应用程序的开发人员提供文档。就个人而言,我将从Robert C Martin的《敏捷》一书和Eric Evan的《领域驱动设计》一书开始。这些都是理论书,但是Bob叔叔的书特别提到了修改代码以便于管理,就像你的情况一样 将软件分层是非常必要的,这样您就可以开始删除依赖项,这将使一切变得非常简单和易于维护
我是一个数据库专家,所以我从一个好的ORM开始,比如实体框架或Fluent NHibernate。我更喜欢网站,所以我选择了ASP.NET的MVC2,然后开始编写这些书的所有部分,即数据存储库、拉取数据的服务和推送数据的控制。MVC很好地将数据关注点和“视图”关注点分开,它们是您的屏幕。不久,您将拥有非常干净且易于维护的软件。如果您使用VS 2010,您可以看到一个名为:架构的菜单。使用此工具,您可以创建应用程序的依赖关系图,您可以按以下说明使用它: