Invitation of the
Author: Ryo HAYASHI in GnGn Inc.
Edition Date: 2013-12-20
What is BEAR.Sunday?
It is web application framework.
Has no components of its own.
Everything is a resource. BEAR doesn t have Model, View,
Controller. Only have resource.
It doesn't restricted a system implementation.
It can do inversion of control by dependency injection.
It does decouple each implementation by aspect oriented.
What is a resource?
Resource is pure information. It doesn't have a form.
The form be decided when has a URI.
URI like a method name for BEAR.
Resource has a form by URI.
URI is API of a resource, URI has methods that
express like a event to resource. We called this
$student = array(
'id' => 1,
'name' => 'John'
Database: users table
How to extract the modelized data from
What is a dependency injection?
DI remove dependency of each
Intent will be decouple with implementation
DI give testability to a system because it
can inject a test data.
Hand s be able to dependency inject
"human", "left", yellow".
What is aspect oriented?
Aspect is epithet of implementation, and
decouple with the true nature of the
Aspect can be cross-cutting on objects.
Relation with object and aspect.
Why choose BEAR.Sunday?
Web application must be able to respond
ﬂexibly to changes because web service is
Simple rule is best. It's Minimalism. Minimalism
will give clarity to intent of the design.
The procedure method be able to consistent if
request method of web application is under
control of the URI.
What is AngularJS?
It is front-end framework.
It be MVVM pattern.
Decouple each layer by role of reproduce:
Data binding, Animation, Transition.
It has best captured the concept of
resource by reproduce.
What is reproduce?
The Intelligence can be found in a resource,
but cannot found in the physical world.
This is Movement of the impression . It s
like cloud's move. cloud is not moving in
practice, It reproduced to changes in
humidity and atmospheric pressure.
What is MVVM pattern?
It will be decouple View with Mode by ViewModel.
View pattern is representation.
Model pattern is resource.
ViewModel pattern is How to make visual from
resource . It will give Movement of the
impression from Model to View.
The true nature of MVVM pattern is ViewModel.
Resource: Wind, Water
MVVM pattern diagram by cloud s
Why choose AngularJS?
The visual design should be reproduce
from a resource because the true nature of
data there are in a resource.
It will decouple behavior from visualize in
HTML. It s like a cloud s example.
Why mix BEAR.Sunday
BEAR.Sunday be able to handling a resource by URI.
AngularJS be able to control DOM by WebSocket.
These be able to control DOM by URI.
DOM be able to reproduce from resource according to
URI when the system be implemented by BEAR.Sunday
Therefore, HTTP and WebSocket request become