This document provides an overview of key concepts in the Laravel PHP framework, including Lumen, middleware, dependency injection, filesystem/cloud storage, queues, task scheduling, databases, Eloquent ORM, and the LUCID architecture pattern. It discusses how Laravel supports middleware, dependency injection, filesystem abstraction, queueing, scheduling tasks, querying databases, migrations, seeding, and the Eloquent ORM. It also summarizes the LUCID architecture designed by Vinelab to improve code quality by defining features, jobs, services, and domains.
Software Design Patterns in Laravel by Phill SparksPhill Sparks
Laravel makes use of quite a few well-established design patterns that promote reusable object-oriented code. Together, we will investigate the design patterns used in the core of Laravel 4 and discuss how they encourage reusable software.
All the Laravel Things – Up & Running to Making $$Joe Ferguson
Come learn about all the tools in the Laravel ecosystem designed to save you time and prevent you from writing the boring cruft needed for every application. We’ll cover getting started with local development, building basic apps, and deploying. We’ll cover how Laravel easily handles vagrant, testing, oauth login services, billing and subscription services through Laravel Spark, and deploying your application with services such as Laravel Envoyer and Forge to manage your servers.
Software Design Patterns in Laravel by Phill SparksPhill Sparks
Laravel makes use of quite a few well-established design patterns that promote reusable object-oriented code. Together, we will investigate the design patterns used in the core of Laravel 4 and discuss how they encourage reusable software.
All the Laravel Things – Up & Running to Making $$Joe Ferguson
Come learn about all the tools in the Laravel ecosystem designed to save you time and prevent you from writing the boring cruft needed for every application. We’ll cover getting started with local development, building basic apps, and deploying. We’ll cover how Laravel easily handles vagrant, testing, oauth login services, billing and subscription services through Laravel Spark, and deploying your application with services such as Laravel Envoyer and Forge to manage your servers.
Chandra Laravel Admin template is one of the most beautifully crafted admin templates with a number of backend applications. It is available in three versions namely HTML versions, PHP versions and Laravel versions. The template is responsive for a number of languages such as ASP, PHP, Perl, ruby etc. This template is indeed a boon in disguise for those starting a Laravel project as they would be able to save tons of hours with its amazing built in templates, user management protocols etc.
Its version 2.1 had its sentry replaced with sentinel recently and feature a detailed
documentation section.
Its version 2.0.1 featured the release of its frontend capabilities
Version 2.0 focused mainly on fixing a number of small bugs associated with the version. It also saw that the Laravel 5 version gets incorporated with the version and it gets updated to Bootstrap 3.3.2.
Version 1.3 featured the addition of Group management user interface. It also added
user UI, features management of user avatar upload. With this version, the template got
updated to latest bootstrap and also fixed a number of small bugs with the version.
Version 1.2 included the most awaiting Laravel version. A number of other functionalities such as user login, register, users, creating new user profiles have been added to the Laravel version. All of the existing layouts were moved to the Laravel layouts so that one could start a new website with any layout just by extending it.
Laravel and Codeigniter, both PHP frameworks have their own sets of pros and cons.
Opt for a cost-effective and efficient framework is important in your project development.
Reach out to our expert team to get appropriate details on choosing the best website frameworks.
Laravel is a free, open-source PHP web framework, created by Taylor Otwell and intended for the development of web applications following the model–view–controller (MVC) architectural pattern and based on Symfony.
MidwestPHP 2016 - Adventures in Laravel 5 Joe Ferguson
With the release of Laravel 5 there are a lot of new toys to play with. We'll cover the new features and how to start using them in your applications. We'll be covering the new directory structure, changes in blade templates, commands and events, form requests, helpers, route caching and middlewares, controller method injection, migrating from Laravel 4, and more! We will also discuss changes to Illuminate packages and the new Elixir, Socialite, and Contracts packages.
A detailed overview of the laravel framework, created by Awulonu Obinna and presented at: Laravel Abuja.
Author details:
Twitter – https://www.twitter.com/awulonu_obinna
Facebook – https://www.facebook.com/awulonuobinna
GitHub – https://www.github.com/obinosteve
Zen and the Art of REST API documentation - MuCon London 2015Steve Judd
Struggling to document your APIs? Still using a wiki page to do it? Watch this presentation and learn the secrets of documenting REST APIs!
One of the secrets to a successful Microservices application is the quality of its APIs - so using a decent tool to help develop them is essential; without the right tool, producing APIs can become as tedious as reading through a dump file. This presentation introduces a selection of opensource tools intended to help with not just documenting APIs but designing and testing them as well. Tools covered will include: Swagger, RAML, Spring RestDocs and Apiary.
Laravel is a great framework to use for web applications but what if you need to do more? Come learn how to harness the power of the console in your Laravel applications to do various tasks such as caching data from 3rd party APIs, Expire old content from S3 or other data store, and batch process huge data sets without users having to wait for results. You can even automate tasks such as backing up your remote databases before you run migrations with artisan commands.
The author is managing editor of http://scalacourses.com, which offers self-paced online courses that teach Introductory and Intermediate Scala and Play Framework.
Laravel, längst kein unbestriebenes Blatt mehr, gewinnt immer mehr an Popularität.
In diesem Vortrag wir Laravel kurz vorgestellt mit Themen wie:
- Was ist Laravel?
- Woher kommt Laravel?
- Was bietet Laravel?
- Laravel und sein Ecosystem.
und einiges mehr...
Releasing High Quality Packages - Longhorn PHP 2021Colin O'Dell
Releasing open-source libraries is more than sharing your GitHub URL with the world. There are many considerations and steps involved especially for successful and long-lived projects.
In this talk, we’ll cover the principles behind creating, releasing, and maintaining high-quality libraries. Topics will include structuring the repository, implementing modern PHP standards, maintaining changelogs, using CI tests, releasing new versions, and more.
Composing "functional" paradigms and building blocks with the capabilities to "react" to external stimulus is a new way to think. A completely different approach.
Chandra Laravel Admin template is one of the most beautifully crafted admin templates with a number of backend applications. It is available in three versions namely HTML versions, PHP versions and Laravel versions. The template is responsive for a number of languages such as ASP, PHP, Perl, ruby etc. This template is indeed a boon in disguise for those starting a Laravel project as they would be able to save tons of hours with its amazing built in templates, user management protocols etc.
Its version 2.1 had its sentry replaced with sentinel recently and feature a detailed
documentation section.
Its version 2.0.1 featured the release of its frontend capabilities
Version 2.0 focused mainly on fixing a number of small bugs associated with the version. It also saw that the Laravel 5 version gets incorporated with the version and it gets updated to Bootstrap 3.3.2.
Version 1.3 featured the addition of Group management user interface. It also added
user UI, features management of user avatar upload. With this version, the template got
updated to latest bootstrap and also fixed a number of small bugs with the version.
Version 1.2 included the most awaiting Laravel version. A number of other functionalities such as user login, register, users, creating new user profiles have been added to the Laravel version. All of the existing layouts were moved to the Laravel layouts so that one could start a new website with any layout just by extending it.
Laravel and Codeigniter, both PHP frameworks have their own sets of pros and cons.
Opt for a cost-effective and efficient framework is important in your project development.
Reach out to our expert team to get appropriate details on choosing the best website frameworks.
Laravel is a free, open-source PHP web framework, created by Taylor Otwell and intended for the development of web applications following the model–view–controller (MVC) architectural pattern and based on Symfony.
MidwestPHP 2016 - Adventures in Laravel 5 Joe Ferguson
With the release of Laravel 5 there are a lot of new toys to play with. We'll cover the new features and how to start using them in your applications. We'll be covering the new directory structure, changes in blade templates, commands and events, form requests, helpers, route caching and middlewares, controller method injection, migrating from Laravel 4, and more! We will also discuss changes to Illuminate packages and the new Elixir, Socialite, and Contracts packages.
A detailed overview of the laravel framework, created by Awulonu Obinna and presented at: Laravel Abuja.
Author details:
Twitter – https://www.twitter.com/awulonu_obinna
Facebook – https://www.facebook.com/awulonuobinna
GitHub – https://www.github.com/obinosteve
Zen and the Art of REST API documentation - MuCon London 2015Steve Judd
Struggling to document your APIs? Still using a wiki page to do it? Watch this presentation and learn the secrets of documenting REST APIs!
One of the secrets to a successful Microservices application is the quality of its APIs - so using a decent tool to help develop them is essential; without the right tool, producing APIs can become as tedious as reading through a dump file. This presentation introduces a selection of opensource tools intended to help with not just documenting APIs but designing and testing them as well. Tools covered will include: Swagger, RAML, Spring RestDocs and Apiary.
Laravel is a great framework to use for web applications but what if you need to do more? Come learn how to harness the power of the console in your Laravel applications to do various tasks such as caching data from 3rd party APIs, Expire old content from S3 or other data store, and batch process huge data sets without users having to wait for results. You can even automate tasks such as backing up your remote databases before you run migrations with artisan commands.
The author is managing editor of http://scalacourses.com, which offers self-paced online courses that teach Introductory and Intermediate Scala and Play Framework.
Laravel, längst kein unbestriebenes Blatt mehr, gewinnt immer mehr an Popularität.
In diesem Vortrag wir Laravel kurz vorgestellt mit Themen wie:
- Was ist Laravel?
- Woher kommt Laravel?
- Was bietet Laravel?
- Laravel und sein Ecosystem.
und einiges mehr...
Releasing High Quality Packages - Longhorn PHP 2021Colin O'Dell
Releasing open-source libraries is more than sharing your GitHub URL with the world. There are many considerations and steps involved especially for successful and long-lived projects.
In this talk, we’ll cover the principles behind creating, releasing, and maintaining high-quality libraries. Topics will include structuring the repository, implementing modern PHP standards, maintaining changelogs, using CI tests, releasing new versions, and more.
Composing "functional" paradigms and building blocks with the capabilities to "react" to external stimulus is a new way to think. A completely different approach.
Serverless APIs with JavaScript - Matt Searle - ChocPandaPaul Dykes
A presentation given by Scott Logic's Matt Searle at the JS Roundabout meetup in London on 9 July 2019, providing an introduction to building serverless APIs in JavaScript, with some tools, tips and best practices for getting started in this new environment.
Node.js and microservices go hand in hand. This comes mainly from the design of Node.js. It is a specialised small platform with an enormous package environment. The NPM ecosystem provides a lot of packages you can use to build your microservice. The two most popular frameworks for this job are Express and Seneca. In this talk I will show you how you can communicate synchronously and asynchronously with your microservices and how easy it is to put your Node.js application into a docker container.
Designing for Privacy in Amazon Web ServicesKrzysztofKkol1
Data privacy is one of the most critical issues that businesses face. This presentation shares insights on the principles and best practices for ensuring the resilience and security of your workload.
Drawing on a real-life project from the HR industry, the various challenges will be demonstrated: data protection, self-healing, business continuity, security, and transparency of data processing. This systematized approach allowed to create a secure AWS cloud infrastructure that not only met strict compliance rules but also exceeded the client's expectations.
Experience our free, in-depth three-part Tendenci Platform Corporate Membership Management workshop series! In Session 1 on May 14th, 2024, we began with an Introduction and Setup, mastering the configuration of your Corporate Membership Module settings to establish membership types, applications, and more. Then, on May 16th, 2024, in Session 2, we focused on binding individual members to a Corporate Membership and Corporate Reps, teaching you how to add individual members and assign Corporate Representatives to manage dues, renewals, and associated members. Finally, on May 28th, 2024, in Session 3, we covered questions and concerns, addressing any queries or issues you may have.
For more Tendenci AMS events, check out www.tendenci.com/events
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
Advanced Flow Concepts Every Developer Should KnowPeter Caitens
Tim Combridge from Sensible Giraffe and Salesforce Ben presents some important tips that all developers should know when dealing with Flows in Salesforce.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?XfilesPro
Worried about document security while sharing them in Salesforce? Fret no more! Here are the top-notch security standards XfilesPro upholds to ensure strong security for your Salesforce documents while sharing with internal or external people.
To learn more, read the blog: https://www.xfilespro.com/how-does-xfilespro-make-document-sharing-secure-and-seamless-in-salesforce/
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
CyanicLab, an offshore custom software development company based in Sweden,India, Finland, is your go-to partner for startup development and innovative web design solutions. Our expert team specializes in crafting cutting-edge software tailored to meet the unique needs of startups and established enterprises alike. From conceptualization to execution, we offer comprehensive services including web and mobile app development, UI/UX design, and ongoing software maintenance. Ready to elevate your business? Contact CyanicLab today and let us propel your vision to success with our top-notch IT solutions.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
Les Buildpacks existent depuis plus de 10 ans ! D’abord, ils étaient utilisés pour détecter et construire une application avant de la déployer sur certains PaaS. Ensuite, nous avons pu créer des images Docker (OCI) avec leur dernière génération, les Cloud Native Buildpacks (CNCF en incubation). Sont-ils une bonne alternative au Dockerfile ? Que sont les buildpacks Paketo ? Quelles communautés les soutiennent et comment ?
Venez le découvrir lors de cette session ignite
4. Middleware
HTTP middleware provide a convenient mechanism for filtering
HTTP requests entering your application.
● Maintenance
● Authentication
● CSRF protection
MeetingMogul
Validate twilio requests (Header Signature)
5. <?php
namespace AppHttpMiddleware;
use Log;
use Closure;
use AppRepositoriesTwilioAccountTwilioAccountRepositoryInterface;
class ValidateTwilioRequestMiddleware
{
/**
* Handle an incoming request.
*
* @param IlluminateHttpRequest $request
* @param Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (!$this->validateRequest($request)) {
throw new SymfonyComponentHttpKernelExceptionUnauthorizedHttpException('Twilio', 'You are not authorized to access this
resource.');
}
return $next($request);
}
}
6. Dependency Injection
Laravel provides a convenient way to inject dependencies
seemlessly.
<?php
namespace Database;
class Database
{
protected $adapter;
public function __construct(AdapterInterface $adapter)
{
$this->adapter = $adapter;
}
}
7. <?php
namespace AppApiv1Controllers;
use AppApiTransformersMessageStatusTransformer;
use AppRepositoriesUserUserRepositoryInterface;
/**
* Message Resource
*
* @Resource("Message", uri="/messages")
*/
class MessageController extends BaseController
{
protected $userRepo;
public function __construct(Request $request, UserRepositoryInterface $userRepo)
{
parent::__construct($request);
$this->userRepo = $userRepo;
}
protected function setMessagingStatus(Request $request)
{
$this->userRepo->createOrUpdateProfile($this->auth->user(), $request->all());
return (['message' => 'Message Status updated successfully.']);
}
}
9. Cloud Storage
Laravel provides a powerful filesystem abstraction. It
provides simple to use drivers for working with Local
filesystems, Amazon S3 and Rackspace Cloud Storage. Even
better, it's amazingly simple to switch between these
storage options as the API remains the same for each system.
10. Cloud Storage
public function updateAvatar(Request $request, $id)
{
$user = User::findOrFail($id);
Storage::put(
'avatars/'.$user->id,
file_get_contents($request->file('avatar')->getRealPath())
);
}
11. Queues
The Laravel queue service provides a unified API across a
variety of different queue back-ends.
$job = (new SendReminderEmail($user))->onQueue('emails');
$this->dispatch($job);
Available Queue Drivers:
Database, Beanstalkd, Amazon SQS, Redis, and synchronous
(for local use) driver
12. Task Scheduling
The Laravel command scheduler allows you to fluently and
expressively define your command schedule within Laravel
itself, and only a single Cron entry is needed on your
server.
protected function schedule(Schedule $schedule)
{
$schedule->call(function () {
DB::table('recent_users')->delete();
})->daily();
$schedule->command('emails:send')->weekly()->mondays()->at('13:00');
$schedule->command('emails:send')->withoutOverlapping();
}
15. Migrations
Migrations are like version control for your database.
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
});
16. Seeding
Laravel includes a simple method of seeding your database
with test data using seed classes.
<?php
use IlluminateDatabaseSeeder;
use IlluminateDatabaseEloquentModel;
class DatabaseSeeder extends Seeder
{
public function run()
{
DB::table('users')->insert([
'name' => str_random(10),
'email' => str_random(10).'@gmail.com',
'password' => bcrypt('secret'),
]);
}
}
18. Eloquent ORM - Soft Delete
● Active Record implementation
php artisan make:model User --migration
<?php
namespace App;
use IlluminateDatabaseEloquentModel;
use IlluminateDatabaseEloquentSoftDeletes;
class Flight extends Model
{
use SoftDeletes;
/**
* The attributes that should be mutated to dates.
*
* @var array
*/
protected $dates = ['deleted_at'];
}
24. Lucid * Feature
● As described in business, as a class name
● Runs Jobs - Steps in the process of accomplishment
CreateArticleFeature
LoginUserFeature
Controller Feature
Serves
30. Lucid * Job
A class that does one thing; responsible for the business logic
● Validate Article Input
● Generate Slug
● Upload Files To CDN
● Save Article
● Respond With Json
CreateArticleFeature
31. Lucid * Job
A class that does one thing; responsible for the business logic
● ValidateArticleInputJob
● GenerateSlugJob
● UploadFilesToCDNJob
● SaveArticleJob
● RespondWithJsonJob
CreateArticleFeature
32. Lucid * Job
A class that does one thing; responsible for the business logic
API architecture
We need to use micro frameworks for APIs
Laravel provides these features and it sets it apart from other PHP frameworks.
Same as filters in Yii
Can be defined
Globally
with route
group
Validate all requests coming from Twilio
Problems DI solves are “Inversion of Control” and “Dependency Inversion Principle”
Loosening dependencies by separate instantiation
Depend on abstractions rather than concretions
Dependency of UserRepository is injected automatically through Service Containers
Service container bindings are registered in Service Providers
We can replace these bindings with mock classes and testing can become simpler.
Laravel uses flysystem library to provide filesystem abstraction.
I guess Convention over Configuration is not specific to ORM
In Laravel it has more use in ORM as compared to Ruby On Rails in which most of the framework features work on this principle
Architecture: Outcome depends on how structures are connected. (DNA -> dinosaur)
Old/legacy projects like Shredd/MTSobek
New developer needs to understand where each piece of code resides
How Structures (Classes) like any service connected to other part of our code
High level or Top level view.
An expression of a Viewpoint.
Communicate Structures
Large application code
New developer
MVC example
Why use architecture
Utility and Helper Classes
Single Responsibility Principle