【发布时间】:2017-10-28 14:38:14
【问题描述】:
我正在 NodeJS 中做一个关于财务控制的项目,该项目使用具有一些“私有”属性(_id、_name、_parent、_balance 和 @987654325)的帐户(类帐户)模型@) 和一些方法(getter 和 setter 以及其他方法)。
所有创建的帐户(对象)都转换为 JSON 并存储到文件(自定义数据库)中,但它们的方法除外(只有属性传递给 JSON)。
当我加载数据库文件时,我得到了包含所有帐户及其属性的 JSON,并且需要使用 EJS 引擎将它们显示到视图页面中。
但是在转换成 JSON 并加载它们之后,它们不再有获取私有属性的方法,而且我想不出任何方法来获取这些信息,除非直接使用属性引用(如 _id, _name, ...)。
如何根据 OO 设计模式获取这些属性,避免对类的私有属性进行外部引用?
谢谢!
【问题讨论】:
-
让这些类型处理自己的 JSON 序列化和反序列化。
-
JSON 是一种表示法,它不能存储函数或对象方法。使用 JSON 存储数据,而不是序列化复杂对象。
标签: javascript json node.js oop design-patterns