sapphire

16
Sapphire SharePoint Application Framework

Upload: vitaly-baum

Post on 10-May-2015

1.550 views

Category:

Technology


0 download

DESCRIPTION

Sapphire: SharePoint Application Framework This project is intended for use in production applications in order to lower the threshold and increase developer productivity, it gathers many of the patterns and practicies (GoF, PoEAA, SOA, DDD, TDD), as well as advanced solutions for SharePoint, the project contains useful elements of the environment The project contains usecases usages of following technologies: Microsoft SharePoint, Unity Application Block (Microsoft Patterns&Practicies), WCF, Dynamic Languages Runtime, Typemock Isolator, MbUnit The project is now moved to github, where he will develop http://github.com/butaji/Sapphire

TRANSCRIPT

Page 1: Sapphire

SapphireSharePoint Application Framework

Page 2: Sapphire

Vitaly BaumPersonal Journal at http://butaji.ru

Page 3: Sapphire

Why?Yet Another Framework

Page 4: Sapphire

SharePoint Guidance

Perfect! But I want more usefull &

powerfull framework

Page 5: Sapphire

#INTRO

Bla bla bla section

Page 6: Sapphire

Intro

S.O.L.I.D.

Design Patterns

PoEAA DDD

TDD

AOPMulti

Paradigm

.NET

SOA

Page 7: Sapphire

Intro: SOLID

Single Responsibility

Open Closed

Liskov Substitution

Interface Segregation

Dependency Inversion

Page 8: Sapphire

Intro: Design Patterns

Creational Patterns

Structural Patterns

Behavioral Patterns

Page 9: Sapphire

Intro: PoEAA

Domain Logic

Presentation

Data Source

Object-Relation

Distribution

Offline Concurrency

Session State

Page 10: Sapphire

Intro: Domain-Driven Design

Lay

ere

d A

rchitect

ure

Model-D

rive

n D

esi

gn

Ric

h M

odelAggregates

Value Object

Repository

Factories

Ubiquitous Language

Presentation

Application

Domain

Infrastructure

Page 11: Sapphire

Intro: Test-Driven Development

Red

RefactoringGreen

Page 12: Sapphire

Intro:Aspect-Oriented Programming

LoggingException Handling

Caching

Page 13: Sapphire

Intro:Multi-Paradigm

• Object-OrientedProgramming:right for all

problems?

• Is one language best for all domains?

• Need much to code for simple solution?

• What about Core, Scripting, Configuration

aspects?

Page 14: Sapphire

Intro:Microsoft.NET

Page 15: Sapphire

Intro:Service-Oriented Architecture

Page 16: Sapphire

Follow Sapphire on github

http://github.com/butaji/Sapphire