Architecture 为什么不同类型的软件体系结构在软件行业中很重要?

Architecture 为什么不同类型的软件体系结构在软件行业中很重要?,architecture,Architecture,当我读到软件架构(MVC、SOA等)时,我有一些问题:为什么需要这么多架构?这些体系结构的优点是什么?如何为我的项目选择合适的体系结构?我需要遵循哪些准则 我读了他的博客,他说MVC将有助于搜索引擎优化。这种架构对搜索引擎优化有何帮助?我不是“架构师” 但是,MVC(在web开发中)使每个页面看起来都像是在web上调用一个方法(从简单的意义上讲)。因此,如果您查看这个问题的url,它比使用带有question.aspx?id=1279140的url更可读 如果我的理解是正确的,搜索引擎将能够很容

当我读到软件架构(MVC、SOA等)时,我有一些问题:为什么需要这么多架构?这些体系结构的优点是什么?如何为我的项目选择合适的体系结构?我需要遵循哪些准则

我读了他的博客,他说MVC将有助于搜索引擎优化。这种架构对搜索引擎优化有何帮助?

我不是“架构师”

但是,MVC(在web开发中)使每个页面看起来都像是在web上调用一个方法(从简单的意义上讲)。因此,如果您查看这个问题的url,它比使用带有question.aspx?id=1279140的url更可读

如果我的理解是正确的,搜索引擎将能够很容易地从URL本身获得结果,而不必从这个页面的文本中选择内容:)

编辑:顺便说一句,想象一下,如果大多数网站的URL都是这样的——你可以输入amazon.com/code-complete或amazon.com/mcconell。我希望你明白我想说的(一个聪明的网站,它能多少理解你在寻找什么)

编辑2:谢谢@bjelli的建议。我是在考虑asp.net MVC的情况下这样说的(特别是URL是REST样式的方式)。

我不是一个“架构师”

但是,MVC(在web开发中)使每个页面看起来都像是在web上调用一个方法(从简单的意义上讲)。因此,如果您查看这个问题的url,它比使用带有question.aspx?id=1279140的url更可读

如果我的理解是正确的,搜索引擎将能够很容易地从URL本身获得结果,而不必从这个页面的文本中选择内容:)

编辑:顺便说一句,想象一下,如果大多数网站的URL都是这样的——你可以输入amazon.com/code-complete或amazon.com/mcconell。我希望你明白我想说的(一个聪明的网站,它能多少理解你在寻找什么)


编辑2:谢谢@bjelli的建议。我这样说是考虑到asp.net MVC(特别是URL是REST样式的方式)。

您指的是asp.net MVC,而不是一般的MVC模式。ASP.NET MVC非常强调构建干净和描述性的URL,并使开发包含干净和自然URL的应用程序变得简单和自然

干净和描述性的URL是搜索引擎优化的一大优势,因为典型的搜索引擎对匹配URL的文本的评价很高


例如,看看stackoverflow上这个问题的URL,如果它的URL是

的话,它不会得到那么高的google排名。你指的是ASP.NET MVC,而不是一般的MVC模式。ASP.NET MVC非常强调构建干净和描述性的URL,并使开发包含干净和自然URL的应用程序变得简单和自然

干净和描述性的URL是搜索引擎优化的一大优势,因为典型的搜索引擎对匹配URL的文本的评价很高


例如,看看stackoverflow上这个问题的URL,如果它的URL是MVC与SEO关系不大,它就不会得到那么高的google排名。它也不是真正的建筑。分离某些类型的代码很有意义。例如,如果为文章创建单独的模板,则可以重用该模板来显示多种类型的文章。如果你为某种类型的文章制作一个单独的模型,你可以在不同的页面上轻松地使用这种类型的文章。

MVC与SEO几乎没有关系。它也不是真正的建筑。分离某些类型的代码很有意义。例如,如果为文章创建单独的模板,则可以重用该模板来显示多种类型的文章。如果你为某一类型的文章制作了一个单独的模型,你可以在不同的页面上轻松地使用该类型的文章。

一些随机的漫谈:

(注:我谈论的是架构概念,而不是架构工件)

系统架构是系统的总体设计和组成。架构始终存在,但您可能希望确保您的架构足够好。基本上,架构是作为开发过程的一部分来完成的;在开发过程中或意外情况下提前。避免最后一个

做一些前期架构的一个原因是找出关于系统的哪些决策需要尽早做出(例如,由于互操作性),哪些可以推迟到实际需要时再做

如果您在开发过程中不断关注您的体系结构,确保您始终拥有一个干净的结构(并且在给出正确的理由时不怕更改),那么您的系统将更容易根据需要进行扩展和修改

我发现两者的结合是好的,当你有尽可能多的信息来做决定的时候,尽量早地找出必要的重大决策,并尽量晚地(但不能迟些!)。早期的体系结构也有助于确定获得最小工作系统所需的最小部件,该系统可以随着需求的明确而增长


此外,架构可以被视为一种通信工具;通过使用众所周知的架构模式和隐喻,可以很容易地将系统的意图和工作方式传达给其他人。一个架构良好的系统可以通过易于理解的层次来识别;您可以理解一个部分,而不必了解所有其他部分的详细信息。它基本上是导游和路标系统:)

一些随意的漫游:

(注:我谈论的是架构概念,而不是架构工件)

系统架构是系统的总体设计和组成。架构始终存在,但您可能希望