Separating your controller from your view

What is a controller?
A controller can best be described as the set of instructions and algorithms that are responsible for making your application actually doing something. Often based on user input. You could say your controller is your business logic.

What is a view?
The view is the presentation of your application, the part that our user sees. The view won’t do any processing (like math, checking data,…) it will just show data.

Why don’t you separate your logic and view?
I don’t know how or I don’t use a framework. Those are both often heard excuses when I ask someone why he doesn’t separate the logic and view of his application. Even when you don’t use a framework your can perfectly separate your logic from your view.

Consider the following example that is based on a real-life application. Don’t mind the code just watch what a difference it makes when you separate your logic and presentation.


Website: blocked

Dear visitor

,

: {$val}"; } else if ($getR["Block_type"] == "player") { $player= getPlayer($getR["Block_name"]); $val = $player['fullName']; echo " is blocked for player{$val}"; } else if ($getR["Block_type"] == "team") { $team = getTeam($getR["Block_name"]); $val = $team['name']; echo " is blocked for team {$val}."; } ?>

And now lets look at the same piece of code again but then refactored:

%s";
		break;
	case 'player':
		$aPlayer= getPlayer($getR["Block_name"]);
		$sReplaceValue = $aPlayer['name'];
		$sErrorMessage = " is blocked for player %s";
		break;
	case 'team':
		$aTeam = getTeam($aResult['Block_name']);
		$sReplaceValue = $aTeam['name'];
		$sErrorMessage = " is blocked for team %s.";
		break;
}
$sErrorMessage = sprintf($sErrorMessage, $sReplaceValue);
$sDate = date("d F Y", $aResult["Block_datum"]);
?>

Website: blocked

Dear visitor

,

:

The second code is much easier to read and maintain the first one, with just a minimal of effort. Lets take it a step futher.

Application structures, multitier architecture

A three tier application

One of the simplest architectures is the three tier structure. This architecture is commonly used in applications. (also take a look at MVC)

Database
Business logic / controller
Presentation / view

A four layer application
Often a fourth layer is added, the domain layer. By adding a domain layer we have a distinct between our business logic and the data access layer (mostly a database).

Database
Domain
Business logic / controller
Presentation / view

Why do we need to separate them?
There are a lot of advantages when you separate your business logic from your presentation logic.

  • the code will be easier to maintain.
  • the logic will be easier to read and understand because it is not mixed with presentation code.
  • It is easier to reuse code if the presentation is not mixed. The layout of a application will almost always be different when writing a new application but the logic behind it can be exactly the same.
  • by using different layers in your application each layer can be developed by another team simultaneously.
  • you will be able to completely change the domain layer to retrieve data from another source then the database without touching the other layers in your application.

Conclusion
So even if you don’t use a framework it should be no problem to separate logic and presentation. It isn’t about which framework or structure you use, just use someting that brings some kind of organisation in your applications.

Comments

176 responses to “Separating your controller from your view”

  1. https://mupf.me/ Avatar

    california casino las vegas

    References:
    https://ntbk.tr/geniaknipe5258

  2. flowlink.me Avatar

    laughlin nv casinos

    References:
    https://flowlink.me/qxad2

  3. dancemua.com Avatar

    genting casino newcastle

    References:
    https://xqr.ai/qpgludie35

  4. platincasino mobile app Avatar

    Außerdem gibt es Champagnersymbole, die Freispiele auslösen, und Bonusräder, die zu einem der Jackpots führen können. Teste Volatilität, Feature-Frequenz und RTP-Verhalten verschiedener Slots, so baust du Wissen auf, das später echtes Geld spart und bringt. Die Chancen, echtes Geld zu gewinnen, sind jedoch immer noch ziemlich gering. Als Nächstes sollten Sie immer die Bonusdetails und die Allgemeinen Geschäftsbedingungen überprüfen (wir werden später darauf eingehen). Prüfen Sie die Bonusbedingungen, da Sie möglicherweise während des Registrierungs- oder Anmeldevorgangs einen Bonus code eingeben müssen. Ja, gewinnen, abheben und gehen ist möglich, was bedeuten würde, dass das Casino verliert. Egal, ob Sie Spielautomaten, Tischspiele oder Live-Dealer-Optionen bevorzugen, es macht Spaß, zu experimentieren und Ihren Stil zu finden.
    Manche verschaffen Ihnen Bonusguthaben, manche Freispiele und manche eine Kombination aus beidem. Die Details erfahren Sie auch hierbei in den Bonusbedingungen oder beim Kundenservice. Zudem werden gewisse Spiele, in der Regel solche mit geringem Hausvorteil wie beispielsweise Roulette oder Craps, den Durchspielbedingungen nicht angerechnet. Manche Anbieter setzen jedoch auch höhere Umsatzbedingungen an. Vielfach unterliegt ein solcher Casino Online Bonus ohne Einzahlung den standardmäßigen Bonusbedingungen.

    References:
    https://online-spielhallen.de/casino-bonus-ohne-einzahlung-2025-gratis-casino-boni/

  5. verde casino lizenz Avatar

    Unseriöse Glücksspielanbieter locken mit unrealistisch hohen Bonusangeboten, die aber nur auf den ersten Blick attraktiv sind. Wir zeigen, woran es möglich ist, unseriöse Casino-Anbieter zu erkennen und wann Spieler besser die Hände von einem Glücksspielanbieter lassen sollten. Empfehlenswerte seriöse Online Glücksspielanbieter haben immer einen Kundensupport, der bei Fragen und Problemen beim Spielen erreichbar ist. Zwar ist eine Pop-up-Nachricht während des Spiels, die einem daran erinnert, wie lange man schon online ist, manchmal störend, aber dennoch erfüllt sie in einigen Fällen auch ihren Zweck. In der Datenschutz-Grundverordnung ist festgelegt, dass Glücksspielanbieter dazu verpflichtet sind, offenzulegen, welche Daten sie über jeden Spieler speichern. Diesen Schutz bieten IT-Unternehmen, die sich auf diesen Service spezialisiert haben.
    Spielen Sie einfach nicht auf Glücksspielseiten, die keine gültige Glücksspiellizenz haben oder keine bekannten und sicheren Varianten der Zahlungsoptionen anbieten. Alle seriösen deutschen Glücksspielseiten müssen ihr Lizenzzertifikat deutlich auf ihrer Website beworben haben. Die deutsche Behörde stellt im Namen des Staates sicher, dass Lotterien, Casinospiele und andere Glücksspielaktivitäten sicher und zuverlässig durchgeführt werden. Die deutsche Glücksspielaufsicht überwacht den deutschen Markt  und prüft, ob Glücksspielseiten in Deutschland ihre Geschäfte in Übereinstimmung mit den geltenden Gesetzen führen.

    References:
    https://online-spielhallen.de/monro-casino-test-erfahrungen-fur-deutsche-spieler/

Leave a Reply

Your email address will not be published. Required fields are marked *