Permalink
Browse files

more docs

  • Loading branch information...
1 parent 0454833 commit 4a01b36588787bf600e79e50e248c1b70b6e006c @seanhess committed Oct 19, 2009
Showing with 46 additions and 20 deletions.
  1. +7 −20 README.mdown
  2. +12 −0 doc/Goals.mdown
  3. +27 −0 doc/Questions.mdown
View
27 README.mdown
@@ -1,36 +1,23 @@
[glossary]: http://github.com/seanhess/zero/tree/master/doc/Glossary.mdown
[usecases]: http://github.com/seanhess/zero/tree/master/doc/UseCases.mdown
+[goals]: http://github.com/seanhess/zero/tree/master/doc/Goals.mdown
+[questions]: http://github.com/seanhess/zero/tree/master/doc/Questions.mdown
+
# Zero
Zero is a new way to approach Dependency Injection in Actionscript. It is a toolkit that replaces the concept of the Interface with the [DependencyInterface][glossary], which defines an interface using Decorators instead of an ActionScript Interface.
In this document, `Interface` refers to an actionscript interface, while "interface" refers to the concept of an interface. The words "extend", "override", and "implement" refer to the concepts, not the Actionscript keywords.
-[Glossary][glossary]
-
-[Use Cases][usecases]
+[**Glossary**][glossary]
-### Outstanding Questions
+[**Use Cases**][usecases]
-* Does this approach solve actual problems?
-* Does it provide significant advantages over existing approaches?
-* What terminology makes this the most clear?
-* What would you change about the interface?
-* What functionality does it lack?
-* Is anything unnecessary?
+[**Goals**][goals]
-### Project Goals
+[**Questions**][questions]
-1. Implement some or all of an interface with one or more classes
-2. Extend funcitonality with anonymous Proxies (Decorators)
-3. Create short term dependencies with a clear Factory pattern
-4. Testing and Mocking are as simple as with normal interfaces
-5. Configure implementations at runtime
-6. Disconnect a client from implementations
-7. Change implementations based on context
-8. Clean configuration in both AS and MXML
-9. Easily modifiable core functionality.
### Getting Started
View
12 doc/Goals.mdown
@@ -0,0 +1,12 @@
+### Project Goals
+
+1. Implement some or all of an interface with one or more classes
+2. Extend funcitonality with anonymous Proxies (Decorators)
+3. Create short term dependencies with a clear Factory pattern
+4. Testing and Mocking are as simple as with normal interfaces
+5. Configure implementations at runtime
+6. Disconnect a client from implementations
+7. Change implementations based on context
+8. Clean configuration in both AS and MXML
+9. Easily modifiable core functionality.
+
View
27 doc/Questions.mdown
@@ -0,0 +1,27 @@
+# Use Cases
+
+The following use cases are provided to show how Zero will make life better.
+
+### Logging
+
+Logging is a classic example of Object-Oriented programming falling short. You want to log everything, or lots of stuff, so you can see where a program breaks. However, log statements clutter up your code significantly. Logging is a common example for Aspect-Oriented programming, which is mostly impossible in AS.
+
+
+
+
+
+
+* When testing, pass in mock implementations to a class
+* Switch to a mock server connection at runtime (a checkbox)
+* 4 different views of a list of users. Invisible ones are inactive and don't receive updates
+* When a module is unloaded it is deactivated and GC'd
+* Give a particular view a unique implementation
+* Give a particular class a unique implementation
+* Give a set of views/classes a unique implementation
+* Proxy all service requests, to convert xml data to strongly typed data before returning
+* Log all requests in the system without requiring the implementations to know about it
+
+
+
+
+

0 comments on commit 4a01b36

Please sign in to comment.