Software Practices
         -Stay Tuned………
Agenda

   Software Life Cycle with cost

   Overview: eMenu System

   .NET 4.0 Technologies

   Patterns

                         Azilen Technologies (P) Ltd
Azilen Technologies (P) Ltd
Innovation at Fingers

EMENU SYSTEM




                        Azilen Technologies (P) Ltd
Technology Overview
   .NET 3.5 Framework

   Business Layer
    ◦ BindingList(Of T)
    ◦ LINQ to Objects
    ◦ Validation Block (Ent Lib 5.0)

   Data Access Layer
    ◦ Data Access Application Block(Ent Lib
      5.0)                  Azilen Technologies (P) Ltd
Contd..
   Presentation Layer:
    ◦ Windows Form
    ◦ Elegant Controls




                          Azilen Technologies (P) Ltd
Issues with existing system

   Exposed everything everywhere

   Redundancy of Code

   No modularization



                         Azilen Technologies (P) Ltd
Exposing everything
everywhere
   Business Logic Layer:

      Manager classes are accessible outside an
       assembly

      Solution: Manager class should have an
       Internal Access modifier




                              Azilen Technologies (P) Ltd
Redundancy of code
 ◦ Splash Screen
   Solution1: User Control
     Property: Splash Image

   Solution2:
     Abstract Class SplashScreen
       Splash Image
       Sub StartSplash()
       Sub CloseSplash()
       Overridable Sub Initialize()

     Derived Class:
       1) BOSplashScreen
       2) KMSplashScreen
                                   Azilen Technologies (P) Ltd
Contd…
 ◦ Business Entity:
   Have an identity and implements
    INotifyPropertyChanged events.


 ◦ Serialization

 ◦ R/W application settings or configuration
   file



                           Azilen Technologies (P) Ltd
.NET 4.0 TECHNOLOGIES




          Azilen Technologies (P) Ltd
Technologies

   Managed Extensibility
    Framework(MEF)
    ◦ Helps to build plug-in based system

   Entity Framework(LINQ to Entities)
    ◦ Decrease the amount of code and
      maintenance required for data-oriented
      applications.

                            Azilen Technologies (P) Ltd
Parts have freedom to live

PLUG-IN BASED
APPLICATION




                             Azilen Technologies (P) Ltd
Designing Plug-in based
application

   Reflection

   Managed Add In Framework

   Managed Extensible Framework

   StructureMap

                      Azilen Technologies (P) Ltd
Managed Extensible
Framework
   Solution for the runtime extensibility
    problem.

   Host application exposes itself and
    consumes external extensions.




                           Azilen Technologies (P) Ltd
How it works?




                Azilen Technologies (P) Ltd
An ORM tool from Microsoft

ENTITY FRAMEWORK




                         Azilen Technologies (P) Ltd
ORM(Object Relational Mapping)

   Designing and Querying database
    models at the conceptual level



   Tool: Simplify the creation of data
    access layers, automate data access


                        Azilen Technologies (P) Ltd
ORM with .NET

   nHibernate

   Linq To Sql(L2S)

   Linq To Entities(Entity Framework)



                         Azilen Technologies (P) Ltd
Azilen Technologies (P) Ltd
Entity Framework
   Programming against a conceptual
    application model instead of
    programming directly against a
    relational storage schema.

   Mappings between the conceptual
    model and the storage-specific
    schema can change without changing
    the application code.
                       Azilen Technologies (P) Ltd
Take a new turn

                 PATTERN

”General reusable solution to a commonly
occurring problem in software design”




                       Azilen Technologies (P) Ltd
We Know but We Don’t Know

   Singleton Pattern: Only one
    instance of class is made and used
    throughout application.

   Façade Pattern: A facade is an
    object that provides a simplified
    interface to a larger body of code.

                          Azilen Technologies (P) Ltd
Contd…
   Factory Pattern:
    ◦ Creating new instance without invoking
      constructor.

    ◦ Have you seen anywhere?




                            Azilen Technologies (P) Ltd
Patterns used with ORMs
   Repository Pattern: Mediates
    between the domain and data
    mapping layers using a collection-like
    interface for accessing domain
    objects.

   Unit Of Work Pattern: Maintains a list
    of objects affected by a business
    transaction and coordinates the writing
    out of changes and the resolution of
    concurrency problems.
                          Azilen Technologies (P) Ltd
Model-View-ViewModel (MVVM)




                Azilen Technologies (P) Ltd
Azilen Technologies (P) Ltd
Azilen Technologies (P) Ltd

Software practises

  • 1.
    Software Practices -Stay Tuned………
  • 2.
    Agenda  Software Life Cycle with cost  Overview: eMenu System  .NET 4.0 Technologies  Patterns Azilen Technologies (P) Ltd
  • 3.
  • 4.
    Innovation at Fingers EMENUSYSTEM Azilen Technologies (P) Ltd
  • 5.
    Technology Overview  .NET 3.5 Framework  Business Layer ◦ BindingList(Of T) ◦ LINQ to Objects ◦ Validation Block (Ent Lib 5.0)  Data Access Layer ◦ Data Access Application Block(Ent Lib 5.0) Azilen Technologies (P) Ltd
  • 6.
    Contd..  Presentation Layer: ◦ Windows Form ◦ Elegant Controls Azilen Technologies (P) Ltd
  • 7.
    Issues with existingsystem  Exposed everything everywhere  Redundancy of Code  No modularization Azilen Technologies (P) Ltd
  • 8.
    Exposing everything everywhere  Business Logic Layer:  Manager classes are accessible outside an assembly  Solution: Manager class should have an Internal Access modifier Azilen Technologies (P) Ltd
  • 9.
    Redundancy of code ◦ Splash Screen  Solution1: User Control  Property: Splash Image  Solution2:  Abstract Class SplashScreen  Splash Image  Sub StartSplash()  Sub CloseSplash()  Overridable Sub Initialize()  Derived Class:  1) BOSplashScreen  2) KMSplashScreen Azilen Technologies (P) Ltd
  • 10.
    Contd… ◦ BusinessEntity:  Have an identity and implements INotifyPropertyChanged events. ◦ Serialization ◦ R/W application settings or configuration file Azilen Technologies (P) Ltd
  • 11.
    .NET 4.0 TECHNOLOGIES Azilen Technologies (P) Ltd
  • 12.
    Technologies  Managed Extensibility Framework(MEF) ◦ Helps to build plug-in based system  Entity Framework(LINQ to Entities) ◦ Decrease the amount of code and maintenance required for data-oriented applications. Azilen Technologies (P) Ltd
  • 13.
    Parts have freedomto live PLUG-IN BASED APPLICATION Azilen Technologies (P) Ltd
  • 14.
    Designing Plug-in based application  Reflection  Managed Add In Framework  Managed Extensible Framework  StructureMap Azilen Technologies (P) Ltd
  • 15.
    Managed Extensible Framework  Solution for the runtime extensibility problem.  Host application exposes itself and consumes external extensions. Azilen Technologies (P) Ltd
  • 16.
    How it works? Azilen Technologies (P) Ltd
  • 17.
    An ORM toolfrom Microsoft ENTITY FRAMEWORK Azilen Technologies (P) Ltd
  • 18.
    ORM(Object Relational Mapping)  Designing and Querying database models at the conceptual level  Tool: Simplify the creation of data access layers, automate data access Azilen Technologies (P) Ltd
  • 19.
    ORM with .NET  nHibernate  Linq To Sql(L2S)  Linq To Entities(Entity Framework) Azilen Technologies (P) Ltd
  • 20.
  • 21.
    Entity Framework  Programming against a conceptual application model instead of programming directly against a relational storage schema.  Mappings between the conceptual model and the storage-specific schema can change without changing the application code. Azilen Technologies (P) Ltd
  • 22.
    Take a newturn PATTERN ”General reusable solution to a commonly occurring problem in software design” Azilen Technologies (P) Ltd
  • 23.
    We Know butWe Don’t Know  Singleton Pattern: Only one instance of class is made and used throughout application.  Façade Pattern: A facade is an object that provides a simplified interface to a larger body of code. Azilen Technologies (P) Ltd
  • 24.
    Contd…  Factory Pattern: ◦ Creating new instance without invoking constructor. ◦ Have you seen anywhere? Azilen Technologies (P) Ltd
  • 25.
    Patterns used withORMs  Repository Pattern: Mediates between the domain and data mapping layers using a collection-like interface for accessing domain objects.  Unit Of Work Pattern: Maintains a list of objects affected by a business transaction and coordinates the writing out of changes and the resolution of concurrency problems. Azilen Technologies (P) Ltd
  • 26.
    Model-View-ViewModel (MVVM) Azilen Technologies (P) Ltd
  • 27.
  • 28.

Editor's Notes

  • #19 Object Role Modeling (ORM) is a powerful method for designing and querying database models at the conceptual level, where the application is described in terms easily understood by non-technical users. In practice, ORM data models often capture more business rules, and are easier to validate and evolve than data models in other approaches.