object-2-object mapping, как приправа к вашему проекту

Post on 28-Dec-2014

3.608 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

"Object-2-Object mapping, как приправа к вашему проекту" by Алик Духно

TRANSCRIPT

OBJECT-T

O-OBJE

CT

MAPPIN

G

© O L E K S I I D U K H N O @ L O H I K A S Y S T E M S

COMPLEXITY OF SOFTWARE

ABSTRACTIONS AND MODEL

ABSTRACTIONS AND MODEL

Модель представ ляет собой специально отобранный и сознательно упрощенный запас знаний (набор данных) Представленный в структу рированной форме.

DDD AS THE TOOL

DTO AND VIEW MODEL

DTO• Model data only

View Model• Model data and behavioral

aspects

WHY USING O-2-O WITH DDD?

Layers are independent

Code aligning

Flattening logic encapsulation

RESULTS USING DDD WITH O-2-O ?

Neater code

Simpler support

Better understanding

SAMPLES - DATA LAYER

SAMPLES – SERVICE LAYER

SAMPLES – APPLICATION LAYER

MODELS, DATA TRANSFER OBJECTS AND VIEW MODELS

HOME-GROWN OVER “OPERATOR” KEYWORD

Code template:• public static implicit operator DTO_Type ( Entity_Type

entity)

Open sample

HOME-GROWN OVER EXTENSION METHODS

Code template:• public static DTO_Type ToDTO ( this Entity_Type photo

)

Open sample

HOME-GROWN OVER SEPARATE CLASS

Instructions:• Define static or singleton class• Implement conversion methods explicitly

Open sample

EMIT MAPPER KEY SUFFICIENCIES

Fast (close to hand written code)

Supports mono

Pretty extensible

EMIT OBJECT MAPPERS

EMIT MAPPERS FACTORY

EMIT MAPPER CONFIGURATION

EMIT MAPPER

Standard

Custom converter

Post processing

Custom configurator

OTIS

Metadata 

Configuration file

Custom mapping providers

OTIS

Metadata 

Configuration file

Custom mapping providers

No DateTime and nullable value types support!

AUTOMAPPER

Mapping Through

Convention

Source/Destination Properties Names Convention

Mapping Through

Configuration

Projection

Type Converter

Value Resolver

Ignore

Test Mapping

Validate Configurati

on

USING AUTOMAPPER IN THE ALLOCINE-CMS

USING AUTOMAPPER IN THE ALLOCINE-CMS

THE OTHERS OPTIONS

Entities to DTOs

T4 templates – To be continued

MAPPERS SUMMARY TABLE

/// Style Facade

Speed

Open Source

Reliability

Silverlight

Manuals

Cost

Emit Mapp

er

Procedural

No The Best

Yes Low Yes Poor Mid

Auto Mapp

er

Object Oriented

Yes Good Yes High Yes Good Low

Home-

grown

Any Depends

Depends

Could be

Depends Yes Depends High

top related