in

Redwerb

Tools, tips, and techniques for software developers.

Redwerb

Tools, tips, and techniques for software developers.

BizArk Framework

 Download

BizArk is a freely available framework that is licensed with the Do What The *** You Want To Public License (WTFPL). This code offers no warranty and has not been tested in a production system, so be careful how you choose to use it.

BizArkCore Features:

  •  Command-Line processing: There is a set of classes that provides simple command-line processing. Simply inherit from CmdLineObject, expose some properties tagged with the CmdLineArgAttribute, and call the Initialize method with the command-line args. Your properties will automatically be populated from the arguments. The CmdLineObject will also provide usage information to let users know what command-line arguments are available.
  • Zip: Provides a simple API for SharpZipLib.
  • Email: Provides a simple API for sending an email using the MAPI32 MAPISendMail functionality.
  • Advanced Conversions: The .Net framework provides several different mechanisms for converting values from one type to another. This includes the Convert class, TypeConverters, IConvertible interface, Parse methods, and ToXxx methods. The ConvertEx class ties all these together into a single method. You can also add custom conversions by creating your own IConvertStrategy class and registering it with ConvertStrategyMgr.
  • Application Class: Similar to the System.Windows.Forms.Application class, this class provides useful information about the currenly running application.
  • Class Extenders: There are a number of useful methods that extend bulit in .Net classes.
    • ArrayExt:
      • Shrink: Creates a truncated copy of an array.
      • Convert: Creates a copy of an array whose elements have been converted to another type.
      • RemoveEmpties: Removes the empty elements from an array (determined by ConvertEx.IsEmpty).
      • Contains: Determines if an array contains a particular value.
    • AttributeExt:
      • GetAttribute: There are actually several overloads that extend different types in order to make it easier to get custom attributes.
    • ObjectExt:
      • Convert: Provides a shortcut to call ConvertEx on every objec.
    • StringExt:
      • Wrap: Forces the string to word wrap so that each line doesn't exceed the maxLineLength.
      • Lines: Splits a string into lines.
      • Words: Splits a string into words (based on whitespace).
    • TypeExt:
      • Implements: Determines if the type implements the given interface.
BizArkWinForms Features:
  • Splash screen management: Provides threading, fading, and status updates for a splash screen. You define the splash screen as a standard WinForm and pass the type to the SplashScreen constructor. The SplashScreen will handle instantiation, display, and threading. If your splash screen implements the ISplashScreen interface, you can pass messages (such as progress) to it through the SplashScreen class.

RedwerbEntry is a sample application to show how to use the SplashScreen and CmdLineObject classes.You can use the source code anyway you want, but the Redwerb image is not part of the WTFPL (not that anyone else would want to use it, but I just thought I would put it in writing).

TestBizArkCore are the unit tests for the core. Don't expect too much from them :). They test the basics, that's about it.

That's it for now. I don't have a road map or really any plans for what I'm going to add to this framework. Feel free to use the Contact Me form if you want me to respond to something, though I won't make any promises about adding or fixing anything. 

Comments

No Comments

Leave a Comment

(required)  
(optional)
(required)  
Add

About Brian Brewder

I'm a software engineer in Kirkland, WA. I have been developing with .Net since 2002. My main area of focus has been designing and implementing a UI framework for an ERP system. Before I got into .Net, I developed for several years in a variety of languages and platforms including mostly ASP, though I've also developed applications for both Palm and Pocket PC devices.

I received my degree in Computing and Software System from the University of Washington in 1999. I have also completed a certificate course in Object-Oriented Analysis and Design Using UML, also from the University of Washington, in 2005.

Copyright Brian Brewder, 2007. All rights reserved.
Powered by Community Server (Non-Commercial Edition), by Telligent Systems