Just a short post informing you about a survey paper I wrote for my object-oriented (OO) design class: Surveying Quality in Object-Oriented Design. In it, I look at the major books and articles concerning best practices for OO design. If you do OO programming, you’ll probably find something interesting. (It’s language-neutral, too.)
The major goals of using object-oriented design are to facilitate the maintenance and extension of software systems by reducing the complexity of software at the class and system level. Successful OO designs are resilient to change, largely because they manage interclass dependencies. In such a system, changes to one part of the system are localized and do not cause a chain of modifications through the system.
The major techniques that OO designers have at their disposal are abstraction, encapsulation, inheritance, polymorphism, and composition. But how does an engineer apply these techniques to create a good design? What are the main ways that sets of classes can be structured and interact to maximize the chance of a successful design? Over the last twenty years, numerous OO practitioners have developed a mature set of rules-of-thumb and best practices to use when constructing and evaluating OO design.
If you celebrate it, enjoy your Thanksgiving tomorrow. Don’t do any homework if you can help it. I won’t!
I just finished grinding through the raw(ish) data from Tuesday. I’ll make some maps like I did in 2004, but I need to dig up the 2004 data for comparison and the MATLAB scripts to (ya know) actually make them.
The big thing evident upon inspection is that the overall complexion of the electoral landscape at the county level looks very much like 2000 and 2004, especially when you compare it to the prior Democratic victories in 1992 and 1996. Overall there were more voters, though; and more of them went for Obama. I don’t have the data processed enough to say anything more constructive than that.
Until I do, enjoy some tidbits.
- McCain won 2,254 of the counties in the US, while Obama took 868. 
- Barack Obama gathered the most votes in Los Angeles County, California (1,845,726) and the largest margin of victory in Cook County, Illinois (1,105,935).
- John McCain got 766,164 votes in LA County (his most). His largest margin was also in his home county of Maricopa in Arizona (113,380).
- Obama won 92.9% of the DC vote, but garnered only 5% in King County, Texas. (Reverse that for McCain’s best/worst.)
ten twelve best counties for Obama (as a percentage):
- DC (93% — margin=195,592)
- Shannon County, SD (89% — 2,637)
- Petersburg County, VA (89% — 12,089)
- Prince Georges County, MD (89% — 218,195)
- Bronx County, NY (88% — 261,767)
- Jefferson County, MS (87% — 2,845)
- Baltimore City, MD (87% — 171,131)
- Menominee County, WI (87% — 1,072)
- Macon County, AL (87% — 8,048)
- San Francisco County, CA (85% — 128,101)
- Manhattan County, NY (85% — 411,186)
- Claiborne County, MS (85% — 2,929)
- Top ten best counties for McCain (as a percentage):
- King County, Texas (93% — margin=143)
- Ochiltree County, Texas (92% — 2,608)
- Roberts County, Texas (92% — 436)
- Glasscock County, Texas (90% — 450)
- Beaver County, Oklahoma (89% — 1,932)
- Cimarron County, Oklahoma (88% — 967)
- Hansford County, Texas (88% — 1,608)
- Oldham County, Texas (88% — 711)
- Motley County, Texas (88% — 455)
- Borden County, Texas (88% — 276)
- Obama captured 22 of the 25 counties with the most people voting. He lost Maricopa County, AZ (44%/55%, -113,380) ; Orange County, CA (47%/51%, -28,755) ; and Tarrant County, Texas (44%/56%, -73,742).
- Roughly 275 counties had more than 100,000 votes cast. Obama won 198 of those counties and had a net surplus of more than 13 million votes, for 58% of the vote. In the 2,840 other counties, he polled only 44%.
- McCain won 92 of the 100 counties that cast the fewest number of votes.
- Obama did not win any counties in Oklahoma, and only two in Wyoming, Utah and Kansas.
- McCain only won one county in all of New England (Piscataquis Cty, Maine).
 – A note on methodology. I do not have county-by-county for Alaska. It is counted as one county. In Louisiana, swap “Parish” for “County.” Virginia and some other states have city-sized administrative units, which are equivalent to counties for electoral reporting.