background preloader

PrinciplesOfOod

PrinciplesOfOod
The Principles of OOD What is object oriented design? What is it all about? What are it's benefits? Of all the revolutions that have occurred in our industry, two have been so successful that they have permeated our mentality to the extent that we take them for granted. Programs written in these languages may look structured and object oriented, but looks can be decieving. In March of 1995, in comp.object, I wrote an article that was the first glimmer of a set of principles for OOD that I have written about many times since. These principles expose the dependency management aspects of OOD as opposed to the conceptualization and modeling aspects. Dependency Management is an issue that most of us have faced. The first five principles are principles of class design. The next six principles are about packages. The first three package principles are about package cohesion, they tell us what to put inside packages: Sincerely, Henrik Robert, yes thank you, I'm aware of those. Hi Bob! Regards

Windows 8 Consumer Preview Product Guide for Developers Download the full Windows 8 Product Guide (English) (973 KB, PDF) German (2.07 MB) Spanish (1.67 MB) French (1.69 MB) Japanese (2.27 MB) Korean (3.02 MB) Portuguese (Brazil) (1.69 MB) Russian (1.68 MB) Chinese (Simplified) (2.40 MB) Chinese (Traditional) (2.43 MB) On this page Introduction Apps take center stage Build apps using what you know Powerful tools and all the resources you need Broad reach, flexibility, and transparency of the Windows Store Introduction If you’re a developer, Windows 8 gives you an amazing platform to reach the millions of people around the world who use Windows every day to be more productive, creative, and to have fun. Apps are at the center of the Windows 8 experience. Developers can take advantage of the services Microsoft provides so their apps will light up when they’re connected to the cloud. Signing up to sell your app in the Windows Store means you can tap into the worldwide user base of Windows. Apps take center stage Microsoft design principles App contracts Search.

Best Practices for Speeding Up Your Web Site The Exceptional Performance team has identified a number of best practices for making web pages fast. The list includes 35 best practices divided into 7 categories. Minimize HTTP Requests tag: content 80% of the end-user response time is spent on the front-end. One way to reduce the number of components in the page is to simplify the page's design. Combined files are a way to reduce the number of HTTP requests by combining all scripts into a single script, and similarly combining all CSS into a single stylesheet. CSS Sprites are the preferred method for reducing the number of image requests. Image maps combine multiple images into a single image. Inline images use the data: URL scheme to embed the image data in the actual page. Reducing the number of HTTP requests in your page is the place to start. top | discuss this rule Use a Content Delivery Network tag: server The user's proximity to your web server has an impact on response times. top | discuss this rule top | discuss this rule tag: css

Five common PHP design patterns Editor's note: See the follow-up article "Five more PHP design patterns" to learn about five additional design patterns that you might find useful. Design patterns were introduced to the software community in Design Patterns, by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (colloquially known as the "gang of four"). The core concept behind design patterns, presented in the introduction, was simple. Over their years of developing software, Gamma et al found certain patterns of solid design emerging, just as architects designing houses and buildings can develop templates for where a bathroom should be located or how a kitchen should be configured. Design patterns not only present useful ways for developing robust software faster but also provide a way of encapsulating large ideas in friendly terms. It's difficult to demonstrate the value of patterns using small examples. The factory pattern The problem is tight coupling. Listing 1 shows an example of a factory class. <? <? <?

codeinvestigator Debugging without breakpoints. Need to track down those nasty ones, but don't know where to start? CodeInvestigator tracks everything. No need to set any breakpoints: Any point in the program's execution history is accessible. Interact with the code. The following example shows the outcome of a condition. Click image for more Click in the code a variable, to see what value it had.a loop, and select an iteration.a condition, to see what it evaluated to.a print statement, to see what it actually wrote.a function call, to go there.an object to browse its attributes. Every step of the program was recorded when it ran. You need Python, version 2 or 3, and a recent Firefox or Chrome browser.

Ruby Quiz How To Enable Dragging in SVG | CodeDread Blog SVG allows you to do quite a bit in terms of graphics in the browser that was not possible without a special plugin like Flash. This post describes how I enabled dragging of entities around the screen. Introduction If you are unfamiliar with SVG I would recommend checking out my two Kickstart tutorials here: One and Two. Furthermore, you can see many useful examples at SVGBasics. My goal was to create an SVG document that allowed the user to drag entities around the screen as they do with existing windowing environments today. SVG Events In SVG 1.1, you can hook up event handlers to SVG entities by techniques that should be familiar to most HTML/JS coders nowadays: When the rectangle is clicked on, the JavaScript function buttonClick() will be called which lets you do whatever you want. Dragging Now that you understand how to hook up event handlers, the basics of a dragging operation are: SVG Mouse Coordinates In my investigations, I started with this post by Jonathan Watt on the Yahoo!

Learning C/C++ Step-By-Step 01. Step-by-Step C/C++ --- Introduction Many people are really interested in learning and implementing C/C++ programs on their favorite platforms like DOS/Windows or Linux. Contents I. What is C ? II. Components of a program Constants Data types Numeric Data Type Non-Numeric Data Type Integer Data Type Real Data Type Logical Data Type Enumerated Data Type Introduction to Language & Expressions What is C? C is a compiler based programming language supports both high level and low level statements to interact directly with the hardware. Development of C Language The C programming language evolved from a succession of programming languages developed at Bell Laboratories in early 1970s. The C language was the outcome of Dennis Ritchie’s work on a project in Bell Laboratories, to invent a suitable high level language for writing an Operating System which manages the input and output devices of a computer, allocates its storage and schedules the running of other programs. History of C Features of C

Flash’s Future Fades as Windows Close on Adobe | Gadget Lab Microsoft gave out Samsung Windows 8 tablets at its 2011 BUILD Conference. Image: VentureBeat The future of Flash looks dimmer and dimmer as another major player in the mobile space shuns support of the platform. Microsoft’s brand new Windows 8 Metro user interface will not support Adobe Flash or other plug-ins, instead embracing the HTML5 set of web standards, according to Microsoft’s Internet Explorer team leader Dean Hachamovitch. For users who access legacy ActiveX controls, they’ll have to jump out of the Metro UI and switch to the classic-styled desktop browser. Hachamovitch explains that running IE without Flash or other plug-ins “improves battery life as well as security, reliability, and privacy for consumers.” “Providing compatibility with legacy plug-in technologies would detract from, rather than improve, the consumer experience of browsing in the Metro style UI,” Hachamovitch wrote in a blog post on Thursday. And Android isn’t the only OS running Flash poorly. Note 1.

Related: