views:

61

answers:

4

hi there, me and another guys would like to develop a framework. Our mission is to create something abstract and general enough to let us develop smartly a set of different web application (with the same core idea).

I'd like to know if there's a docs i can read, to better understand which should be the way to project a framework (ie: which layered solutions i'd choose and so on)

thx everyone

+1  A: 

I think your question is way too generic. You should first define what you would like to add to your framework. Examples are UI stuff (controls, base pages, etc), business logic helper like validation, session management, etc .... and then something to help you out in accessing your database in your DAL level .... Having said that, you have to be more specific in the things you you should really add to a framework otherwise you project's scope will be way too big and you will never end up implementing it. Its often said in software engineering that too much of abstraction is a root cause of problems.

afgallo
good advice: "too much of abstraction is a root cause of problems" :)i'm going to consider it as my first rule in this project.thx
frabiacca
+1  A: 

The best way to define a framework is to start with a very specific set of requirements. For instance, look at two web applications which you want to take advantage of this framework and pick out the code that you feel is redundant and could be shared. Use the set of features in this code to drive your requirements.

My advice would be to start small with just a few very basic features. Factor them out into a library with a very well tested and defined API. Once you've verified this work, look for other areas or ways to increase the scope of the features you've already factored out. Or perhaps include a third web application and try to change it to use your library. Repeat this through several iterations and you should end up with the type of framework you're looking for.

It would also help to do some reading up on the subject of refactoring.

JaredPar
+2  A: 

Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries (2nd Edition).

TrueWill
I read this book, and it is indeed the first place you should start when approaching this project.
Egor
A: 

It's not clear from your post if you already know what you want to do. First step is have a clear view as to what your framework does for the user: keep it simple, do one thing, and do it right. Then you can look at existing open source frameworks to get a sense of how they approached the problem. The Microsoft Patterns and Practices projects are a good place to start, because that's what they do - build frameworks. Given your focus, you could have a look at the ASP.NET MVC project, too.

Mathias
of course i do know what I want to realize, i was trying to find some theoretical approach or guidelines ... gonna check microsoft pattern and practises. thx
frabiacca