23-24
This presentation is the property of its rightful owner.
Sponsored Links
1 / 26

23-24 мая , 2012 г. Microsoft PowerPoint PPT Presentation


  • 75 Views
  • Uploaded on
  • Presentation posted in: General

23-24 мая , 2012 г. Microsoft. Как повысить эффективность разработки корпоративных бизне с - приложений c e X press A pp F ramework. Денис Гаравский. [email protected] | @ DennisGaravsky | www.devexpress.com. .NET Team, DevExpress. Перед тем как начать….

Download Presentation

23-24 мая , 2012 г. Microsoft

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


23 24 2012 microsoft

23-24 , 2012 .

Microsoft


C e x press a pp f ramework

-c eXpressApp Framework

[email protected] | @DennisGaravsky | www.devexpress.com

.NET Team, DevExpress


Developer express xaf

Developer Express ??!

XAF??????


Developer express

Developer Express

VCL, .NET

(Windows Forms, ASP.NET Web Forms, ASP.NET MVC, WPF, Silverlight)

, ,

, ,

,

1998.

IDE

CodeRush, !Refactor,

App Framework & ORM

eXpress Persistent Objects (XPO)

eXpressApp Framework (XAF)


23 24 2012 microsoft

- -

-

MicrosoftDynamics 1 . .

-

,

,

.


23 24 2012 microsoft

  • $$$ ,


23 24 2012 microsoft

  • $$$

  • ,

  • ,


E x press a pp f ramework xaf

eXpressApp Framework(XAF)

XAF

  • Desktop Web


23 24 2012 microsoft

eXpressApp Framework


23 24 2012 microsoft

- CRUD-?

(http://galaktika.ru)

XAFARI XAF

, ,


23 24 2012 microsoft

XAF ?

- (, , ) 0.5

Outlook (, , .) 1

CRM ( ) 1

XAF

1 c XAF ~ N XAF

1 XAF1


23 24 2012 microsoft

XAF (MVC)

XAF (N-Tier)


23 24 2012 microsoft

-

XPO ORM

15 RDBMS

:

  • Code-First

  • Database-First

  • Model-First

  • UI-First

  • Domain Components (DC) ,

    Entity Framework 12.1 ( )


23 24 2012 microsoft

UI-First

UI !


Domain components dc i

Domain Components (DC) - I

Interface vslass

Independence from ORM

Inversion of Control (IoC)

Dependency Injection

ORM runtime


Domain components

[DomainComponent]

public interfaceIAccount {

[RuleRequiredField, RuleUniqueValue]

[RuleRegularExpression(@SomeCoolRegEx")]

string Email { get; set; }

[FieldSize(25)]

[ImmediatePostData]

[Appearance("Len(Password) < 6", FontColor = Color.Red)]

string Password { get; set; }

}

Domain Components

[DomainComponent, ImageName("BO_Person")]

public interface IPerson {

stringLastName { get; set; }

stringFirstName { get; set; }

stringFullName { get; }

DateTimeBirthday { get; set; }

}

[DomainLogic(typeof(IPerson))]

publicclassPersonLogic {

public static string Get_FullName(IPerson self) {

returnstring.Format("{0} {1}",self.FirstName, self.LastName);

}

}

[DomainComponent]

public interface ICompany{

[RuleRequiredField]

string Name { get; set; }

[Aggregated]

IList<IPerson> Staff { get; }

[DataSourceProperty("Staff")]

[RuleRequiredField(TargetCriteria = "Staff.Count > 0")]

[Appearance("Staff.Count = 0",BackColor = Color.Yellow)]

IPerson Manager { get; set; }

}

DomainComponent

  • IPerson

  • IAccount

ICompany

IPerson

  • IAccount

  • ICompany

[DomainComponent]interfaceICRMCustomer:IAccount, ICompany,INotes, IPhones,...,...{}


23 24 2012 microsoft

<Application>

<Views>

<DetailViewId="Order_DetailView">

<Layout>

<LayoutGroupId="Main"ImageName="BO_Order">

<LayoutItemId="UnitPrice"RelativeSize="25"Index="0" />

<LayoutItemId="Qty"RelativeSize="25"Index="1" />

<LayoutItemId="Discount"RelativeSize="25"Index="2" />

<LayoutItemId="ExtendedPrice"RelativeSize="25"Index="3" />

</LayoutGroup>

</Layout>

</DetailView>

</Views>

</Application>

  • XAFML - XAML

  • UI

  • runtime

  • DC


23 24 2012 microsoft

  • Desktop Web CRUD ,, ..

  • UI


23 24 2012 microsoft

eXpressApp Framework,

, :

  • ,

  • , !


23 24 2012 microsoft

  • 3rd-party


Visual studio

VisualStudio


Runtime

runtime

  • , ,

  • , , ,


23 24 2012 microsoft

[Test]

public void TestExtendedPrice() {

IDataStoreds = newInMemoryDataStore(

AutoCreateOption.DatabaseAndSchema

);

IDataLayerdal = newSimpleDataLayer(ds);

using(UnitOfWorkuow = newUnitOfWork(dal)) {

Order order = new Order(uow) {UnitPrice= 50m, Qty= 5, Discount = 0.5d

};

uow.CommitChanges();Assert.AreEqual(125m, order.ExtendedPrice);

}

}

public class Order : XPObject {

publicOrder(Session session) :

base(session) { }

public decimal UnitPrice;

public int Qty;

public double Discount;

public decimal ExtendedPrice {

get{ returnUnitPrice * (decimal)

((1 - Discount) * Qty);

}

}

}

TDD-friendly

Unit Test Runner

Easy Test

Easy Test Script Recorder


E x pre ss a p p f ramework

:)

- eXpressAppFramework

!


23 24 2012 microsoft

:www.devexpress.com

XAF: http://bit.ly/3OMTR

XAF : http://bit.ly/KyhdW3

E-mail: [email protected]

DevExpress

!


23 24 2012 microsoft

.

.


  • Login