可维护、可扩展和模块化究竟意味着什么?
what maintainable,scalable and modular actually means?
当我在任何 article/book 中读到它将使您的应用程序可维护、可扩展和模块化时,这实际上意味着什么。
我对它们的理解是模糊的,但我很清楚它们的实际含义。例如:- 我 heard/read 很多次 mvc 架构
使应用程序更易于维护、可扩展和模块化。这是我的理解:-
可维护:- 如果我们需要适应微小的变化/或一些缺陷,这很容易处理。代码也应该是可单元测试的。
在 MVC 世界之前,视图、控制器和模型角色由 servlet 扮演。所以很难接受任何改变。也很难
从单元测试的角度
可扩展:-应用程序如何响应用户负载的增加。
Modular :- 对我来说这个词看起来很抽象。模块化是关于将应用程序分解为模块
可以由独立的团队开发,互不影响。可以根据其他因素进行分解,例如
可重用性、功能明智以便子团队可以独立工作、可测试性。
现在 MVC 如何使代码模块化。可能是因为团队可以在视图、控制器和模型上独立工作。
如果我在某些地方错了或者我在这里遗漏了任何重要方面,请纠正我
Maintainable:除了你提到的,一个可维护的系统还意味着做重大改变不应该太多 的问题(显然这取决于变化本身的大小)。也就是说,如果客户要对整个UI层进行大修,那么,这样做意味着你不需要重写一半的业务逻辑和数据层。
可扩展:不是真的。如果应用程序能够容纳越来越多的用户而不对其执行能力产生任何重大影响,那么它就可以很好地扩展。如果您的应用程序处理 1000 个用户的请求不到 10 毫秒,但处理 2000 个用户需要 1000 毫秒,那么您的应用程序可能无法很好地扩展。可伸缩性通常是通过巧妙的设计实现的,允许巧妙地使用资源,例如数据库连接和缓存等其他机制,这可以减少繁重操作的使用。
模块化:不完全是。如果一个应用程序是松散耦合但紧密结合的,那么它就是模块化的。这意味着模块彼此独立,但是它们可以很好地协同工作。因此,按照我之前的示例,如果您以模块化方式构建应用程序,则在 UI 层中进行更改不应影响您的业务层,反之亦然。
根据这个声明:
Now how MVC makes the code modular. Probably becoz team can work
independently on views, controller and models.
我的意见 MVC 使将系统分解为模块变得更容易。话虽如此,我不认为如果系统不使用 MVC 那么系统就不是模块化的等等。您可能会遇到使用 MVC 模式构建但维护起来很麻烦的应用程序,反之亦然.
当我在任何 article/book 中读到它将使您的应用程序可维护、可扩展和模块化时,这实际上意味着什么。
我对它们的理解是模糊的,但我很清楚它们的实际含义。例如:- 我 heard/read 很多次 mvc 架构 使应用程序更易于维护、可扩展和模块化。这是我的理解:-
可维护:- 如果我们需要适应微小的变化/或一些缺陷,这很容易处理。代码也应该是可单元测试的。 在 MVC 世界之前,视图、控制器和模型角色由 servlet 扮演。所以很难接受任何改变。也很难 从单元测试的角度
可扩展:-应用程序如何响应用户负载的增加。
Modular :- 对我来说这个词看起来很抽象。模块化是关于将应用程序分解为模块 可以由独立的团队开发,互不影响。可以根据其他因素进行分解,例如 可重用性、功能明智以便子团队可以独立工作、可测试性。
现在 MVC 如何使代码模块化。可能是因为团队可以在视图、控制器和模型上独立工作。
如果我在某些地方错了或者我在这里遗漏了任何重要方面,请纠正我
Maintainable:除了你提到的,一个可维护的系统还意味着做重大改变不应该太多 的问题(显然这取决于变化本身的大小)。也就是说,如果客户要对整个UI层进行大修,那么,这样做意味着你不需要重写一半的业务逻辑和数据层。
可扩展:不是真的。如果应用程序能够容纳越来越多的用户而不对其执行能力产生任何重大影响,那么它就可以很好地扩展。如果您的应用程序处理 1000 个用户的请求不到 10 毫秒,但处理 2000 个用户需要 1000 毫秒,那么您的应用程序可能无法很好地扩展。可伸缩性通常是通过巧妙的设计实现的,允许巧妙地使用资源,例如数据库连接和缓存等其他机制,这可以减少繁重操作的使用。
模块化:不完全是。如果一个应用程序是松散耦合但紧密结合的,那么它就是模块化的。这意味着模块彼此独立,但是它们可以很好地协同工作。因此,按照我之前的示例,如果您以模块化方式构建应用程序,则在 UI 层中进行更改不应影响您的业务层,反之亦然。
根据这个声明:
Now how MVC makes the code modular. Probably becoz team can work independently on views, controller and models.
我的意见 MVC 使将系统分解为模块变得更容易。话虽如此,我不认为如果系统不使用 MVC 那么系统就不是模块化的等等。您可能会遇到使用 MVC 模式构建但维护起来很麻烦的应用程序,反之亦然.