2

嗨,我正在编写我自己的亚马逊 PHP SDK 高级 API,用于操作 DynamoDB,一个 nosql 数据库。

我发现自己为执行一项操作的单个函数编写了大约 150 行代码,包括错误检查、请求构建,当然还有注释。如果我继续这样下去,API 类很容易超过一千行,我认为这有点难以维护。

因此,我正在考虑将我的班级分成几个较小的班级,每个班级处理一组操作。比如说,表操作、项目操作和批处理操作。但是我不是软件设计模式的专家,所以这真的是模块化的好方法吗?或者是否有任何我应该遵守的设计模式并使我的代码更易于维护?

4

2 回答 2

3

你的问题有点主观,因为你没有提供代码,所以我们可以看到你实际上想要完成的事情。

但是,是的,您需要将您的类分成更小的组件,每个组件都有自己的职责。没有一个单一的模式可以说明如何准确地做到这一点,但单一责任原则是一个很好的起点。这是关于关注点分离

你说:

[...] 包括错误检查、请求构建 [...]

就这样,将错误检查请求构建分开,然后将其再次分成更小的组件,每个组件只有一个职责。您必须只有一个理由来更改每个组件,不能超过一个。您必须定义一个清晰的域模型,并为这些域对象中的每一个对象提供专用服务。

以@teresko 的答案为例:

在 MVC 中应该如何构建模型?

因此,请记住,您需要将应用程序分成多个。该请求是表示层的一部分。在现代类似 MVC 的应用程序中,它由控制器层和视图层组成,视图层与模型层交互,以便为给定的请求准备表示。

见:http ://martinfowler.com/eaaCatalog/

于 2012-08-28T20:13:17.430 回答
2

我想我和你在同一条船上。我有很多类要维护,它们有太多的目的。看看下面的网页,这对我有帮助:http: //www.dofactory.com/Patterns/Patterns.aspx。还有谷歌:SOLID (http://en.wikipedia.org/wiki/SOLID_%28object-oriented_design%29)。这些是针对 .NET 和面向对象编程的,但我知道 PHP 有类和对象。

于 2012-08-28T19:43:24.023 回答