1. A system including instructions recorded on a non-transitory computer readable storage medium and executable by at least one processor, the system comprising: a code generator configured to cause the at least one processor to determine an object metadata model which defines structures and behaviors of objects adapted for use in at least one software application; the code generator including an object analyzer configured to determine at least one object instance of the object metadata model, a domain analyzer configured to determine a domain associated with the at least one object instance, and a template selector configured to select a domain-specific code template based on the domain, wherein the code generator is further configured to cause the at least one processor to generate a domain-specific application program interface (API) configured to facilitate interactions of the at least one object instance during execution of the at least one software application, using the domain-specific code template.