Is this good practice?

Good practice in terms of memory yes, but organization I don’t know, good practice if it seems comfortable and functional to you, it is also good practice in visual terms.

Personally, I like OOP better

--		Module		--
local Methods = {}



--		Constructor		--
local Storage = {}
return function(Rig: Model)
	if Storage[Rig] then		return Storage[Rig]		end
	
	--		new		--
	local self = table.clone(Methods)
	self.Limits = {
		--something
	}
	self.Levels = {
		--something
	}
	
	--		Storage		--
	Storage[Rig] = self
	return self
end

summary: a table that stores information, you can add methods that apply to that object and store more complex values ​​(table with values, instances)

and this should maybe be in code review

1 Like