separate image models for each parent model; same model for images and video ... good ideas ?

if i have a lot of different models that can have many images is it better to have separate image models for each of them to make things easier for my server in high traffic conditions or let them all use the same image model? What about using the same model for images and video, let’s say the vp model (video,photo) Are these good ideas? I’m preparing my models for bootstrap-image-gallery an extension to bluimp-image-gallery so i guess just consider i’m preparing my models for bluimp ~ thanks

if i have a lot of different models that can have many images is it better
to have separate image models for each of them to make things easier for my
server in high traffic conditions or let them all use the same image model?

Can you explain why you think that it will make life easier for your
server if you have separate models?

Whatever the answer to the above, it is almost almost a mistake during
initial development to make your code more complex in order make it
more efficient. This is known as premature optimisation. Decades of
working in s/w design have taught me that the bottlenecks in code are
very rarely in the bits of code you expect. Design your system using
the KISS technique and make sure you have full automated test coverage
so that when you refactor the code you can be sure it is still
working. If you eventually get the the point where throughput is an
issue then that is the time to work out where the bottlenecks are and
solve those problems.

What about using the same model for images and video, let's say the vp model
(video,photo) Are these good ideas? I'm preparing my models for
bootstrap-image-gallery an extension to bluimp-image-gallery so i guess just
consider i'm preparing my models for bluimp ~ thanks

As I said, use the KISS technique. So use the simplest design that
will solve the problem. The simplest design will take less time to
develop and will have less bugs (as there is less code and it is
simpler).

Colin

A couple of caveats to my previous post:

If you find yourself writing the same code in two (or more) models
then there is almost certainly something wrong with the underlying
design.

If you find that two models contain fields of the same name where the
contents have the same purpose then again there may be something
wrong. Possibly the two models should be combined in some way, or the
common data moved out to a third table.

It is almost always bad to store data in one field that can be
calculated from other data in the same or other models. Instead of
the field provide a method that calculates the value on the fly.
There are times when this rule needs to be broken for efficiency
reasons but this decision should not be made at initial coding stage.
If it eventually proves that it is necessary then convert the method
to a field when it can be shown that it is really necessary.

Colin