Νοέμβριος 2009 - Δημοσιεύσεις

Xaf Tip #11 MVC architecture to overcome cyclic reference
24 Νοεμβρίου 09 01:30 μμ | tolisss | 0 σχόλια   
Cyclic reference is probably due to a flaw in design. So what? We are not perfect But we use Xaf , a model driven Application Framework from Devexpress and we can take advantage of that architecture so to overcome cyclic reference problems. I think an example is the most appropriate here. eXpand has a module called AdditionalViewControlsProvider , it can provide as the name says controls to views by setting some values on the model and since its an eXpand module it references eXpand.ExpressApp assembly (core) after I release AdditionalViewControlsProvider I release also PropertyPathFilters which is using AdditionalViewControlsProvider module to display the extra criteria but is hosted at eXpand.ExpressApp assembly (core) !!! How in the heck did I do that? Simple

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία:
BDD for Dynamic Types with mspec
19 Νοεμβρίου 09 03:43 μμ | tolisss | 0 σχόλια   
This one will be my 2nd post about mspec. The first on can be found here . I am still newbie in Mspec crazy syntax!! but have done a lot of TDD (after all BDD is TDD) , so my 1st effort of using mspec to describe all specifications (=expression of behaviors) for dynamic types module, along with some refactoring produced the following output ------ Test started: Assembly: eXpand.Tests.dll ------ ModuleCreator, When Creating Dynamic Module » should return a list of module base descenants Existe ntTypesMemberCreator, When Creating ExistentTypes CoreMembers that exist already » should not throw any exceptions ExistentTypesMemberCreator, When Creating ExistentTypes CoreMembers » should find that member through xpdictionary » should create typedattributes ExistentTypesMemberCreator,

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: , , ,
eXpand source code has moved to GitHub
19 Νοεμβρίου 09 03:25 μμ | tolisss | 0 σχόλια   
why we moved to GitHub? The main reason is speed. With Git u get the chance to work locally make your operations at your H/D and push any of those changes to GitHub anytime you want. And even that is  faster cause Git does not rely of Differences (Deltas) to work, it is just sending snapshot of the current file system. Another reason is that the tools for Gitting are pretty stable right now so there is no need to master Unit Shell in order to use it. So you can find TortoiseGit which is TortosieSvn port, Also GitExtensions are doing a very good job with Git – Visual studio integration. Another very impressive feature of GitHub is the collaboration between users. For example you may want to develop upon eXpand in your own way and without being a member of

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: ,
Dynamic types in any application?
16 Νοεμβρίου 09 01:08 μμ | tolisss | 0 σχόλια   
WorldCreator a module designed to work with Xaf can really work without it!!!! Suppose you have a non xaf application and you use Xpo as your dataLayer and you want dynamic types then WorldCreator can for sure help you. You just reference WorldCreator and eXpand .BaseImpl assemblies and use an approach similar to the specs bellow [Test] public   void Can_Create_Types_In_A_Non_Xaf_Context() {     new PersistentClassInfo(Session.DefaultSession){Name = "Test" }.Save();     var typeCreator =         new TypeCreator(             new TypesInfo( new List<Type> {                                             

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: ,
Dynamic Types and Interfaces
10 Νοεμβρίου 09 02:03 μμ | tolisss | 0 σχόλια   
Its now possible to implement existent interfaces for your dynamic types . How? Setup your InterfaceSources at your model Populate them through InterfaceInfo Listview and make your dynamic classes to implement them Technorati Tags: WorldCreator , Dynamic Types , Interfaces

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: , ,
Filtering a listview of objects according to their childs
09 Νοεμβρίου 09 02:11 μμ | tolisss | 0 σχόλια   
  The Problem 1 A common requirement in any OOP application is the ability to filter a listview of objects according to their childs in whatever level they belong. eXpand can solve the above by the use of propertypath filters. So in an Customer—>Orders--->OrderLines relationship the filter bellow are enough to filter your customer list view according to any property value of their Orders child collection with the one bellow you can filter customer list view by any property value of orderlines collection of customers orders collection In the video bellow i demo 1. the above functionality that is hosted at eXpand.ExpresApp assembly, 2. eXpand.ViewVariants module for creating views without the model editor (that is badly needed now that we can have multiple

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: , , , ,
Dynamic Type Merging
03 Νοεμβρίου 09 11:20 μμ | tolisss | 0 σχόλια   
I hope you all vote on DeveExrpess Issue that will allow us to validate runtime extended existent types. But even if you did not there is an alternative way that my friend Emilio shared with us. I want to add runtime members for my existent Customer class for which records already exist in the DB and also use the validation system You can create a new dynamic type that inherit your customer class decorate it with the MapInheritance attribute and set the MergedObjectType same as BaseType Download working sample app with source code here Technorati Tags: WorldCreator , Dynamic Types , Merging

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: , ,
Dynamic Types with WorldCreator source code is out
02 Νοεμβρίου 09 03:50 μμ | tolisss | 0 σχόλια   
WorldCreator is a xaf module that provide dynamic persistent types for your application and runtime members for your existing classes. That means that you can define dynamic types at runtime through a UI (xaf views) save them in the database and let your imagination free !!! Installation Very simple you just register the selected assemblies bellow   and add the required classes you want from .Persistent.BaseImpl At my previous post IOC by BaseImpl I have explain the use of DevExpress.Persistent.BaseImpl assembly so in the same concept eXpand now has its own eXpand.Persistent.BaseImpl that will host a default implementation of persistent interfaces used from eXpand As you can see at the above image there are to types of prefixes on those classes Persistent—>

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: , , ,

Search

Go

Το Ιστολόγιο

Ιστορικό Δημοσιεύσεων

Συνδρομές