Django - Software Architecture and Design

Post on 19-May-2015

380 views 5 download

Transcript of Django - Software Architecture and Design

DJANGOMarcello Romanelli

Software Architecture and Design

giovedì, 23 maggio 13

DJANGOWHAT

is

giovedì, 23 maggio 13

The web framework for perfectionist with deadlines.

giovedì, 23 maggio 13

DJANGOWHY

use

giovedì, 23 maggio 13

PYTHONUSES

giovedì, 23 maggio 13

Full StackFramework

giovedì, 23 maggio 13

PYTHONONLY

giovedì, 23 maggio 13

ACTIVECOMMUNITY

giovedì, 23 maggio 13

ADMININTERFACE

giovedì, 23 maggio 13

From this...

giovedì, 23 maggio 13

...to this!

giovedì, 23 maggio 13

www.djangosites.orggiovedì, 23 maggio 13

LET’S GODEEPER

giovedì, 23 maggio 13

ARCHITECTURAL

STYLEgiovedì, 23 maggio 13

giovedì, 23 maggio 13

MODELTEMPLATEVIEW determine what data is to be displayed

process requests with a web templating system

definition of some stored data, accessible via an ORM API

giovedì, 23 maggio 13

COMPONENTSReusable Unit of Composition

giovedì, 23 maggio 13

CLASS

class  CommonInfo(aSystem.superclass):        field1  =  ...        field2  =  ...

       def  method1(arg1,  arg2):                ...                doSomething();                ...                return  a,  b,  c

       def  method1(arg1):                ...                doSomethingElse();                ...                return  a

giovedì, 23 maggio 13

myAPPFILE:  f1.pyclass  class1(aSystem.superclass):        field1  =  ...        field2  =  ...

FILE:  f2.pyclass  class2(aSystem.superclass):        field1  =  ...        field2  =  ...

CLASS CLASS

Standard  Files

giovedì, 23 maggio 13

myAPPFILE:  PKG-­‐INFOMetadata-­‐Version:  1.0Name:  django-­‐gmapiVersion:  1.0.1Summary:  A  Google  Maps  API  implementation  for  DjangoHome-­‐page:  http://code.google.com/p/django-­‐gmapi/

DEP PKGINFO

Extra  Files

giovedì, 23 maggio 13

CONNECTORSmodels interaction between

COMPONENTSgiovedì, 23 maggio 13

METHODCALL

giovedì, 23 maggio 13

SHAREDDATABASE

giovedì, 23 maggio 13

MESSAGE

giovedì, 23 maggio 13

CONCRETEEXAMPLE

giovedì, 23 maggio 13

IDEAgiovedì, 23 maggio 13

MTVSignalsShared DBComponent Reuse

giovedì, 23 maggio 13

CarRealEstate

views

index

all

Signal

ipLogger

priceLogger

Common

django_google_maps

tastypie

giovedì, 23 maggio 13

giovedì, 23 maggio 13