3. Current Philosophy-Based Pattern

Current Philosophy-Based Pattern

If
we’ll try to choose the Philosophical model that is most similar to the current
conventional software architecture, we will probably choose Monism. Let’s see
why.

As
we have seen, the outcome of the layers architecture is an extensive
network of connections, more thickened within each layer, but still, rather
significant in between the layers. According to one of
the axioms which Spinoza formulated in Ethics, any entity
can be contained within itself or within another entity (where
we should interpret the containment as dependency). Therefore, we might argue
that all entities that assemble a layer-based software application are
contained entities, or should we say - dependent entities. That is, there
is no application entity, which doesn’t need anything but itself to act – whether
it needs input or events from other entities, or whether it needs to pass its
functional outcome to other entities. In a matter of fact, the only entity that
we could point out as an entity that does not depend on other entities is the
application itself. Naturally, the application contains all of
its elements, and since there is no limit to elements that we may add to an
application, we could claim that in a sense, it is endless. Therefore, we
may argue that a software application is similar by its nature to “nature” as
described by Spinoza - an embracing all, infinite entity.

And
what about the application entities, which are the classes (that
join the application during design time) and the objects (join during
run time)? If we’ll continue the analogy between nature as Spinoza described
it and a software application, then the application entities would be
no more than ephemeral "wrinkles", with no stable presence
upon the surface of the application. In fact, the only thing within
a software application that could be classified as a real substance is the
application itself - a complex of classes (or objects)
that are in themselves, have neither real presence nor
stability, and therefore are constantly changing.