On Github jdfreeman / leaning-towards-domain-driven-design-presentation
Awesomeness Curated by Josh Freeman / @jdfreeman11
Provide an Ultra-High-Level view of MVC/SOLID/DDD
Make any of us DDD experts
The minor three are important, but not useful enough for this talk
SRP and DI: peas and carrots!
Think less about what an object does, and more about what it can do
class Greeter
{
public function sayHello()
{
echo CurrentUser::sayHello();
}
}
class Greeter
{
public function __construct($hello_sayer)
{
$this->hello_sayer = $hello_sayer;
}
public function sayHello()
{
echo $this->hello_sayer->sayHello();
}
}
Discuss history with tests
Using humans to run through a suite of changes is dumb and a waste of time
Bob Martin: Using humans where machines are better off is immoral
Making one change here, and the whole application breaks
Discuss refactoring tests, cleanup
A project should NOT start with any of the following:
~$ rails new my-project ~$ composer create-project laravel/laravel my-project ~$ django-admin.py startproject my-project
If it's not special, buy a product and move on with your life
Awesomeness Curated by Josh Freeman / @jdfreeman11