Ich bin mit Oded einverstanden - zu lernen, wie Sie Ihre nicht-technischen Kollegen und Manager davon überzeugen, dass das, was Sie tun, wichtig und nützlich ist, ohne die Details zu erklären, ist eine notwendige Fähigkeit, die Sie entwickeln sollten.
Ich glaube jedoch, dass die Fähigkeit , komplexe Konzepte in einfachen Worten zu erklären, tatsächlich dabei hilft - ein Problem, das nicht-technische Manager häufig haben, ist, dass sie dazu neigen, zu verstehen, was genau die Techniker tun, da sie Probleme haben misstraue ihnen. Es ist nur die menschliche Natur: Es ist einfacher zu glauben, dass etwas, das Sie nicht verstehen, nutzlos oder falsch ist, als sich darauf zu verlassen. Wenn Sie also Konzepte nach Belieben leicht verständlich machen können, können Sie diese verwenden, wann immer Sie sie benötigen, und im Laufe der Zeit werden Ihre nicht-technischen Manager feststellen , dass sie sie verstehen können, wenn sie wollen - Sie ziehen keine vor auf sie - Sie ersparen ihnen nur die Details für ihre eigene Gesundheit. Sie werden dir mehr vertrauen.
Abgesehen davon beantworten wir die Frage:
Ich finde es nützlich, Analogien zu verwenden, die Geschäftsleute verstehen. Für MVC beschreibe ich es als Geschäft.
- Modelle sind für die Geschäftslogik und die Geschäftsdaten verantwortlich - sie sind die Dinge, die definieren, was das Programm tut, und die Details, wie es es tut. Wenn das Programm ein Unternehmen wäre, dann wären die Modelle Lagerhäuser, Fabriken, Arbeiter und Investitionsgüter. Sie wären auch die untergeordneten Manager, die sicherstellen, dass Regeln befolgt und Richtlinien durchgesetzt werden.
- Ansichten sind die Präsentationsebene - sie zeigen dem Benutzer, was im System vor sich geht, und bieten eine Möglichkeit zur Interaktion mit dem Programm. Wenn unser Programm ein Unternehmen wäre, wären die Ansichten wie der Ausstellungsraum, der Verkaufsstand auf der Fachmesse oder die Vertriebsmitarbeiter. Sie zeigen Optionen an, geben benutzerfreundliche Informationen und Feedback und nehmen Anfragen an das Unternehmen zurück.
- Controller sind die Koordinationsschicht - sie sorgen dafür, dass Informationen von den Modellen zu den Ansichten und umgekehrt gelangen und dass alles zusammenarbeitet, um ihre Arbeit zu erledigen. Wenn das Programm ein Unternehmen wäre, wären die Controller das mittlere und das obere Management. Sie gehen nicht zu sehr auf Details ein, sondern sorgen dafür, dass die richtigen Leute die richtigen Werkzeuge haben, um ihre Arbeit zu erledigen, und sie genehmigen oder lehnen Entscheidungen auf hoher Ebene ab. Sie geben die allgemeine Richtung vor, damit die Dinge zusammenarbeiten können.
Die Erklärung mit dieser Analogie hat den Vorteil, dass ein guter Manager die Weisheit darin sieht, Bedenken auf diese Weise zu trennen, und möglicherweise entscheidet, dass sie controllerähnlicher sein und sich in Zukunft nicht zu sehr auf Details einlassen sollten!
Das wird hoffentlich das "Was" beantworten - das "Warum" ist auch mit dieser Analogie einfach:
Stellen Sie sich ein ideales Unternehmen vor, in dem jede Abteilung für eine Reihe von Aufgaben verantwortlich ist und weiß, dass sie immer über die erforderlichen Ressourcen verfügt, ohne sich Gedanken darüber machen zu müssen, was andere tun. Ein Vertriebsmitarbeiter findet einen Kunden, erhält seinen Auftrag, gibt ihn an das genehmigende Management zurück und geht dann zur Erfüllung an das Lager / die Produktion / das Engineering. Das Feedback ist direkt - niemand muss sich einmischen, es sei denn, es gibt ein Problem. Das ist ein gutes MVC-Design - jedes Teil hat einen Job und muss sich nicht um andere Teile kümmern. Auf diese Weise ist es einfach, Änderungen vorzunehmen, wenn dies erforderlich ist. In einem Nicht-MVC-Design sind die Verantwortlichkeiten nicht klar. Der Vertriebsmitarbeiter versucht möglicherweise, das Produkt zu ändern, wenn der Kunde etwas anderes wünscht. Oder sie geben unterschiedliche Preise an, je nachdem, wie sie sich an diesem Tag fühlten. Der CEO befindet sich möglicherweise in der Fabrik und arbeitet an der Produktionslinie, wenn er sich Gedanken darüber macht, wie eine zuverlässigere Lieferkette eingerichtet werden kann. Die Lagerarbeiter sind möglicherweise auf der Verkaufsfläche und sprechen mit den Kunden, wenn sie die bereits angenommenen Bestellungen erfüllen sollen.
Mit anderen Worten, gutes MVC-Design ermöglicht es jedem Teil, sich auf eine Sache zu konzentrieren, damit es es richtig macht - genau wie ein gut organisiertes Unternehmen.
** Haftungsausschluss - Wenn Ihr Unternehmen schlecht organisiert ist, kann dies zu Beleidigungen führen. In diesem Fall benötigen Sie eine andere Analogie. Möglicherweise benötigen Sie auch einen anderen Job.