在ionic3 / Angular4

时间:2018-09-30 15:56:17

标签: angular typescript class design-patterns ionic3

我想为经验比我更多的人做这个问题,以了解我的计划是否正确。

我们将支持我们开发的Ionic3-Angular应用程序,其中有一个用于“客户”的CRUD。我读过正确的方法是:

  • 客户端模型:定义属性的类。
  • 客户服务/提供商:它将管理数据库通信的获取,修改和保存数据。
  • 页面:我称加载数据并显示的地方。

我发现的所有示例都应该是:

  • 他们在Page中实例化模型Cliente。
  • 他们在页面中注入了服务/提供者客户端。

要加载数据:

  • 他们从Page加载数据引发Provider,并将其分配给对象(类型CLiente)。

现在,我将提出我的怀疑。可以更好地在Model中更好地实现数据访问和管理吗?我已经为此做过一些小型项目,但我可以找到人们这样做的任何例子,也许我错了。我的意思是:

例如,我将使用以下方法创建一个Client类:

static load(cs:ClienteService,id):Cliente{
//function that receive provider and use it to access data with the other parameter (id of the Cliente)
}

guardar(cs:ClienteService):boolean{
// function to save object throw the ClienteService parameter
}

ClienteServicio将注入到Page中,并将在必要时作为参数函数传递给Model。 通过这种方式,逻辑,检查数据等将在模型上进行管理。

我希望我能解释一下并从社区中获得建议。 非常感谢

1 个答案:

答案 0 :(得分:1)

我将请求使用接口类,而不是模型类。 https://medium.com/front-end-hacking/typescript-class-vs-interface-99c0ae1c2136

的详细说明

作为可注入服务,您可以定义与保存数据,获取和更新数据有关的业务逻辑。确保这些数据以Observables的形式返回。

在组件中,您可以预订将返回所需数据的服务。