Rough Draft
Model - Context – Interaction – Presentation (MCIP)
Where I am going with this?
I am going to present this with the understanding that all who have come before me in this arena are given much deserved credit right here and now for their work. As this is not a research paper and I am a poor historian with dyslexia, it would be unproductive for me to reference those folks at ever turn. The exception is Trygve Reenskaug and James O. Coplien (T&C) as it is their work I derive/fork my thoughts upon.
What is my motivation?
I have some stuff stuck in my head and while in the process of writing code for 2 applications (one is functionally a subset of the other) with the intent of using the code as a basis for the extraction of the rest of the stuff stuck in my head. I realized I had some problems.
This was not the first time I have been here. A number years ago, I had arrived at the this place and chose not to look in depth for the root cause but only muse on it. Mentally, I came up with a similar solution to MCIP but because of my inexperience I did not pursue it. This time I decided to look in depth.
The first problem was code organization. When I followed the symptoms looking for a root cause, I concluded I had a conflict between programmer me and user me. So, I needed a solution to marry these two. T&C presented DCI. This is real close to the solution I was looking for. The DCI paradigm is mostly where I want to be. I read somewhere a good paradigm should work at both the macro level and the micro or atomic level.
The user mental model starts at the Presentation layer. The Programmers mental model starts at the interaction layer.
In an interview of the user, what does the user say to communicate his mental model? We hear I want to go to a screen and enter my user name and password and hit a button to login to the application. If we do not ask what the screen looks like, we find out later; the appearance of the screen the user was thinking about during the interview was a blue background with a Google imported font for the label, a different imported font for entering the user name and a blue button with a glassy look that says Enter at your own Risk!
As a solution provider we hear and can address the first part easily, we can also hear and address the second part easily but what we failed to do was address understanding the complete user mental model.
Who knows what?
T&C presents the user knows the interaction they desire, the basic algorithm they desire, the data they have available. I consider the user knows the presentation they desire, the basic algorithm, and they data they have available. The programmer knows how to model the data for use in the algorithm, which context tools to use and how to make them viewable to the presentation.
What it does, what it is, and what the user sees.
The programmers mental model is a reflection of the user mental model. This reflection is shown in the Presentation Layer. The Presentation Layer is where the appearance is injected upon the Interaction Layer.
The Presentation layer is a reflection of the Interaction layer. The Presentation layer uses events to communicate with the interaction layer.
To be continued and edited....
--To view this discussion on the web visit https://groups.google.com/d/msg/object-composition/-/2vRdBMbRUFAJ.
You received this message because you are subscribed to the Google Groups "object-composition" group.
To post to this group, send email to object-co...@googlegroups.com.
To unsubscribe from this group, send email to object-composit...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/object-composition?hl=en.
Hi Mark,
Im assuming your MCI (P) are parrallel to M(vc) (d)CI.
If there is anyone your most likely to convince with your line of thinking, is me.
I had come to this forum and Trygver personally in the hope to create a unified approach to DCI and MVC.
All i can say is ive come to the conclusion that MVC and DCI are both very mature and IMOH perfect as they are. The solution for me to bring them together is education and tools.
Ill happily give you the best explanation I can of MVC and DCI, but ill let you ask questions.
All i can say about your post is that "Presentation layer is a reflection of the Interaction layer" is not correct, It is a reflection of the data objects.
Mike Brown.
To post to this group, send email to object-composition@googlegroups.com.
To unsubscribe from this group, send email to object-composition+unsub...@googlegroups.com.
hi mark,
how about a clear definition of your terms and how you think they differ. and perhaps some justification of your examples that youve used in each term/layer.
mike brown
To view this discussion on the web visit https://groups.google.com/d/msg/object-composition/-/TKSkLiQa5BMJ.
To post to this group, send email to object-co...@googlegroups.com.
To unsubscribe from this group, send email to object-composit...@googlegroups.com.
Definition of the Presentation Layer
The Presentation layer is a static reflection of the Interaction layer where the state changes through a user interaction or through a time driven change in the Interaction layer.
It took me a while to verbalize this as I needed to insure the definition correctly allowed for a dashboard with a real time stock ticker.
I am working on the others.
Be Well
Mark
hi mark,
how about a clear definition of your terms and how you think they differ. and perhaps some justification of your examples that youve used in each term/layer.
mike brown
Mark
To unsubscribe from this group, send email to object-composition+unsubscribe@googlegroups.com.
The Presentation layer is a static reflection of the Interaction layer where the state changes through a user interaction or through a time driven change in the Interaction layer.
Strata in the Model - Context – Interaction – Presentation (MCIP) Paradigm
The user mental model starts at the Presentation Stratum. The Programmers mental model starts at the interaction Stratum.
In an interview of the user, what does the user say to communicate his mental model? We hear I want to go to a screen and enter my user name and password and hit a button to login to the application. If we do not ask what the screen looks like, we find out later; the appearance of the screen the user was thinking about during the interview was a blue background with a Google imported font for the label, a different imported font for entering the user name and a blue button with a glassy look that says Enter at your own Risk!
As a solution provider we hear and can address the first part easily, we can also hear and address the second part easily but what we failed to do was address understanding the complete user mental model.
Who knows what?
T&C presents the user knows the interaction they desire, the basic algorithm they desire, the data they have available. I consider the user knows the presentation they desire, the basic algorithm, and they data they have available. The programmer knows how to model the data for use in the algorithm, which context tools to use and how to make them viewable to the presentation.
What it does, what it is, and what the user sees.
Definition of the Presentation Stratum
The Presentation Stratum is a static reflection of the Interaction Stratum whose state changes through a user interaction or a time driven change in the Interaction Stratum. The Presentation Stratum is where the appearance is injected upon the Interaction Stratum.
--
You received this message because you are subscribed to the Google Groups "object-composition" group.
To view this discussion on the web visit https://groups.google.com/d/msg/object-composition/-/LTZStZU9aYoJ.
To post to this group, send email to object-co...@googlegroups.com.
To unsubscribe from this group, send email to object-composit...@googlegroups.com.
Perhaps its worth asking why MVC + DCI are not good enough for you? What are you trying to fix?
Mike Brown
On 28 May 2012 11:08, James O Coplien wrote:
They are not stratified, either.
On Sunday, May 27, 2012 4:51:21 AM UTC-4, Cope wrote:On May 27, 2012, at 4:14 , Mark W wrote:The Presentation layer is a static reflection of the Interaction layer where the state changes through a user interaction or through a time driven change in the Interaction layer.Why are any of these even layers?I would say that there are no layers in MVC.Linguistics can be troublesome in established fields. I did not take into account the many permutations of the term layer. So, before I go on, I am going to correct myself and implement stratum to clarify my thinking. My use of stratum is to show the communication space between individual objects and object groups. Objects reside within the named strata of the MCIP paradigm.--
You received this message because you are subscribed to the Google Groups "object-composition" group.
To view this discussion on the web visit https://groups.google.com/d/msg/object-composition/-/LTZStZU9aYoJ.
To post to this group, send email to object-composition@googlegroups.com.
To unsubscribe from this group, send email to object-composition+unsub...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "object-composition" group.
To post to this group, send email to object-composition@googlegroups.com.
To unsubscribe from this group, send email to object-composition+unsub...@googlegroups.com.
Perhaps its worth asking why MVC + DCI are not good enough for you? What are you trying to fix?
Mike Brown
On 28 May 2012 11:08, James O Coplien <jcop...@gmail.com> wrote:
They are not stratified, either.
On Sunday, May 27, 2012 4:51:21 AM UTC-4, Cope wrote:On May 27, 2012, at 4:14 , Mark W wrote:The Presentation layer is a static reflection of the Interaction layer where the state changes through a user interaction or through a time driven change in the Interaction layer.Why are any of these even layers?I would say that there are no layers in MVC.Linguistics can be troublesome in established fields. I did not take into account the many permutations of the term layer. So, before I go on, I am going to correct myself and implement stratum to clarify my thinking. My use of stratum is to show the communication space between individual objects and object groups. Objects reside within the named strata of the MCIP paradigm.--
You received this message because you are subscribed to the Google Groups "object-composition" group.
To view this discussion on the web visit https://groups.google.com/d/msg/object-composition/-/LTZStZU9aYoJ.
To post to this group, send email to object-composition@googlegroups.com.
To unsubscribe from this group, send email to object-composition+unsub...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "object-composition" group.
To post to this group, send email to object-composition@googlegroups.com.
To unsubscribe from this group, send email to object-composition+unsub...@googlegroups.com.
Perhaps its worth asking why MVC + DCI are not good enough for you? What are you trying to fix?
Mike Brown
On 28 May 2012 11:08, James O Coplien <jcop...@gmail.com> wrote:
They are not stratified, either.
On Sunday, May 27, 2012 4:51:21 AM UTC-4, Cope wrote:On May 27, 2012, at 4:14 , Mark W wrote:The Presentation layer is a static reflection of the Interaction layer where the state changes through a user interaction or through a time driven change in the Interaction layer.Why are any of these even layers?I would say that there are no layers in MVC.Linguistics can be troublesome in established fields. I did not take into account the many permutations of the term layer. So, before I go on, I am going to correct myself and implement stratum to clarify my thinking. My use of stratum is to show the communication space between individual objects and object groups. Objects reside within the named strata of the MCIP paradigm.--
You received this message because you are subscribed to the Google Groups "object-composition" group.
To view this discussion on the web visit https://groups.google.com/d/msg/object-composition/-/LTZStZU9aYoJ.
To post to this group, send email to object-composition@googlegroups.com.
To unsubscribe from this group, send email to object-composition+unsub...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "object-composition" group.
To post to this group, send email to object-composition@googlegroups.com.
To unsubscribe from this group, send email to object-composition+unsub...@googlegroups.com.
Perhaps its worth asking why MVC + DCI are not good enough for you? What are you trying to fix?
Mike Brown
On 28 May 2012 11:08, James O Coplien <jcop...@gmail.com> wrote:
They are not stratified, either.
On Sunday, May 27, 2012 4:51:21 AM UTC-4, Cope wrote:On May 27, 2012, at 4:14 , Mark W wrote:The Presentation layer is a static reflection of the Interaction layer where the state changes through a user interaction or through a time driven change in the Interaction layer.Why are any of these even layers?I would say that there are no layers in MVC.Linguistics can be troublesome in established fields. I did not take into account the many permutations of the term layer. So, before I go on, I am going to correct myself and implement stratum to clarify my thinking. My use of stratum is to show the communication space between individual objects and object groups. Objects reside within the named strata of the MCIP paradigm.--
You received this message because you are subscribed to the Google Groups "object-composition" group.
To view this discussion on the web visit https://groups.google.com/d/msg/object-composition/-/LTZStZU9aYoJ.
To post to this group, send email to object-composition@googlegroups.com.
To unsubscribe from this group, send email to object-composition+unsub...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "object-composition" group.
To post to this group, send email to object-composition@googlegroups.com.
To unsubscribe from this group, send email to object-composition+unsub...@googlegroups.com.
Perhaps its worth asking why MVC + DCI are not good enough for you? What are you trying to fix?
Mike Brown
On 28 May 2012 11:08, James O Coplien <jcop...@gmail.com> wrote:
They are not stratified, either.
On Sunday, May 27, 2012 4:51:21 AM UTC-4, Cope wrote:On May 27, 2012, at 4:14 , Mark W wrote:The Presentation layer is a static reflection of the Interaction layer where the state changes through a user interaction or through a time driven change in the Interaction layer.Why are any of these even layers?I would say that there are no layers in MVC.Linguistics can be troublesome in established fields. I did not take into account the many permutations of the term layer. So, before I go on, I am going to correct myself and implement stratum to clarify my thinking. My use of stratum is to show the communication space between individual objects and object groups. Objects reside within the named strata of the MCIP paradigm.--
You received this message because you are subscribed to the Google Groups "object-composition" group.
To view this discussion on the web visit https://groups.google.com/d/msg/object-composition/-/LTZStZU9aYoJ.
To post to this group, send email to object-composition@googlegroups.com.
To unsubscribe from this group, send email to object-composition+unsub...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "object-composition" group.
To post to this group, send email to object-composition@googlegroups.com.
To unsubscribe from this group, send email to object-composition+unsub...@googlegroups.com.
Cope,
I appreciate your interest and time.
Background Perspective: For eight years I was immersed in the Japanese Manufacturing Environment, my colleagues educated me in how and why they do what they do. My education proceeded beyond the manufacturing environment to the corporate board room. One of the ideologies I took away from this experience is, they do not confuse complex problems with complex solutions.
It is my belief the majority of programming methodologies create complex solutions for simple problems. If my understanding of the reasoning behind MVC is correct and my understanding of the reasoning behind DCI is correct, one of their purposes is to reduce solution complexity.
My problem is what is the next step for OOP? Why do we need two+ paradigms or perspectives? Are we not trying to solve one problem? Should one of the objectives of OOP be the ability to draw a proverbial straight line from the most outward facing code to the most inward facing code and strive to extend it? Even with language differences and features, does the definition of a properly coded solution include having the ability to be reused from one data set to a similar data on different systems? For example: the use case of an ATM is the same from Banking System A to Banking System B therefore, a properly coded solution for Banking System A should work for Banking System B by only changing the minimal amount of code. What paradigm provides a target container making this possible?
Lastly, isn't Scratch (scratch.mit.edu) brilliant?
Mark
What paradigm provides a target container making this possible?
--
You received this message because you are subscribed to the Google Groups "object-composition" group.
To view this discussion on the web visit https://groups.google.com/d/msg/object-composition/-/YiWfs5rN0fgJ.
To post to this group, send email to object-co...@googlegroups.com.
To unsubscribe from this group, send email to object-composit...@googlegroups.com.
It is my belief the majority of programming methodologies create complex solutions for simple problems. If my understanding of the reasoning behind MVC is correct and my understanding of the reasoning behind DCI is correct, one of their purposes is to reduce solution complexity.
My problem is what is the next step for OOP? Why do we need two+ paradigms or perspectives? Are we not trying to solve one problem?