SOLID Architectural Agility
My colleague introduced me to the concepts of SOLID principles of architectural agility recently, and as photography is one of my hobbies, I tried to map them together, and tried to see what the SOLID principles of architectural agility mean from the perspective of professional cameras !
Thoughts, suggestions and corrections welcome !
S - Single Responsibility
The aperture control mechanism controls only the light, whereas the shutter control mechanism controls only the speed of the shutter opening and closure.Though both have a direct impact on exposure, each of them own a single responsibility.
O - Open and Close
A DSLR camera should be OPEN to fit in multiple lenses, filters, caps and even magnifier extensions, and be CLOSED on the essential mechanism of the Single Lens Reflex, which is its core.
L - Liskov Substitution
A manual focus feature can always substitute and automatic focus feature, without any impacts or loss of output/quality.So, in instances wherein auto-focus is not the right choice, a fall back to manual focus can get the same desired result.
I - Interface Segregation
You can add various types of filters to various types of lenses,the defined interface of the diameter being constant. All of these components ( lens and filters ) conform to a single standard.
D - Dependency Inversion
An aperture priority feature is an inbuilt abstraction, which is the combined result of individual smaller functions like ISO adjustments, metering and shutter speed adjustments, to achieve the preset aperture priority.