java - Design patterns - Data to object -
suppose have data in file or maybe database. json, xml, yaml, csv, string[], etc.
i'd create model object data. example:
data:
{ "name": "john doe", "age": "30" }
model (pseudocode):
class person { person(name, age) { this.name = name; this.age = age; } // business logic }
some code creates person objects json data (pseudocode):
peoplearray = []; recordset = ajsonreader.read('file'); (recordset r) { peoplearray.add(new person(r[0], r[1])); }
what use build model objects given data? in example i'd start supporting json. if i'd change or support new data formats? how decouple code? design pattern fit here?
use strategy pattern (see here). want provide different methods parse data. method parse json, method parse xml , method read database. each method can seen strategy parse data , generate data objects.
create common interface, let's idataobjectparser
single method public list<dataobject> parse()
. each parser implement interface. can exchange parser whenever want, e.g. during runtime or according configuration file.
Comments
Post a Comment