Search Results

Search found 55521 results on 2221 pages for 'class design'.

Page 114/2221 | < Previous Page | 110 111 112 113 114 115 116 117 118 119 120 121  | Next Page >

  • c# class design - what can I use instead of "static abstract"?

    - by Ryan
    I want to do the following public abstract class MyAbstractClass { public static abstract int MagicId { get; } public static void DoSomeMagic() { // Need to get the MagicId value defined in the concrete implementation } } public class MyConcreteClass : MyAbstractClass { public static override int MagicId { get { return 123; } } } However I can't because you can't have static abstract members. I understand why I can't do this - any recommendations for a design that will achieve much the same result? (For clarity - what I am trying to do is provide a library with an abstract base class but the concrete versions MUST implement a few properties/methods themselves and yes, there are good reasons for keeping it static.)

    Read the article

  • Class structure for the proposed data and its containers ?

    - by Prix
    First I would like to wish a happy new year to everyone that may read this :) I am having trouble on how to make a container for some data that I am importing into my application, and I am not sure on how to explain this very well and my english is not really a that good so I hope you can bear with my mistake and help me with some guidance. Currently with a foreach I am importing the follow fields from the data I receive: guid, itemid, name, owner(optional, can be null), zoneid, titleid, subid, heading, x, y, z, typeA, typeB, typeC From the above fields I need to store a Waypoint list of all coords a given item has moved to BUT for each guid I have a new list of waypoints. And from the waypoint list the first entry is also my initial item start location which would be my item initial position (if you notice i have a separate list for it which I was not sure would be better or not) not all items have a waypoint list but all items have the first position. So the first idea I came with to store this data was a list with a class with 2 inner classes with their list: public List<ItemList> myList = new List<ItemList>(); public class ItemList { public int guid { get; set; } public int itemid { get; set; } public string name { get; set; } public int titleid { get; set; } public itemType status { get; set; } public class Waypoint { public float posX { get; set; } public float posY { get; set; } public float posZ { get; set; } } public List<Waypoint> waypoint = new List<Waypoint>(); public class Location { public int zone { get; set; } public int subid { get; set; } public int heading { get; set; } public float posX { get; set; } public float posY { get; set; } public float posZ { get; set; } } public List<Location> position = new List<Location>(); } So here is an example of how I would add a new waypoint to a GUID that exists in the list bool itemExists = myList.Exists(item => item.guid == guid && item.itemid == itemid); if (itemExists) { int lastDistance = 3; ItemList.Waypoint nextWaypoint; ItemList myItem = myList.Find(item => item.guid == guid && item.itemid == itemid); if (myItem.waypoint.Count == 0) { nextWaypoint = new ItemList.Waypoint(); nextWaypoint.posX = PosX; nextWaypoint.posY = PosY; nextWaypoint.posZ = PosZ; } else { ItemList.Waypoint lastWaypoint = myItem.waypoint[myItem.waypoint.Count - 1]; if (lastWaypoint != null) { lastDistance = getDistance(x, y, z, lastWaypoint.posX, lastWaypoint.posY, lastWaypoint.posZ); } if (lastDistance > 2) { nextWaypoint = new ItemList.Waypoint(); nextWaypoint.posX = PosX; nextWaypoint.posY = PosY; nextWaypoint.posZ = PosZ; } } myItem.waypoint.Add(nextWaypoint); } Then to register a new item I would take advantage of the itemExist above so I won't register the same GUID again: ItemList newItem = new ItemList(); newItem.guid = guid; newItem.itemid = itemid; newItem.name = name; newItem.status = status; newItem.titleid = titleid; // Item location ItemList.Location itemLocation = new ItemList.Location(); itemLocation.subid = 0; itemLocation.zone= zone; itemLocation.heading = convertHeading(Heading); itemLocation.posX = PosX; itemLocation.posY = PosY; itemLocation.posZ = PosZ; newItem.position.Add(itemLocation); myList.Add(newItem); Could you help me with advices on how my class structure and lists should look like ? Are there better ways to interate with the lists to get lastWaypoint of a GUID or verify wether an item exist or not ? What else would you advise me in general ? PS: If you have any questions or if there is something I missed to post please let me know and I will update it.

    Read the article

  • In what package should a "Settings" class be placed?

    - by Tom
    I'm in the middle of building an application but found myself too easily creating new packages without keeping the project's structure in mind. Now, I'm trying to redo the whole project structure on paper first. I am using a Settings class with public properties, accessed as settings for several other classes around the project. Now, since this Settings class applies for the whole project, I am unsure if it should be packaged and if so, in what kind of package should it exist? Or should it be in the root (the default package) with the main application class? I've been thinking about putting it in my utils package, then again I don't think it really is an utlity. Any strategies on how to decide on such package structure for example for a Settings class?

    Read the article

  • Is it acceptable to design my GLSurfaceView as a main control class?

    - by Omega
    I'm trying to structure a game I'm making in Android so that I have a sound, flexible design. Right now I'm looking at where I can tie my games rules engine and graphics engine together and what should be in between them. At a glance, I've been eying my implementation of GLSurfaceView, where various screen events are captured. My rationale would be to create an instance of my game engine and graphics engine here and receive events and state changes to trigger updates of either where applicable. Further to this, in the future, the GLSurfaceView implementation could also store stubs for players during a network game and implementations of computer opponents and dispatch them appropriately. Does this seem like a sensible design? Are there any kinds of improvements I can make? Thanks for any input!

    Read the article

  • Class-Level Model Validation with EF Code First and ASP.NET MVC 3

    - by ScottGu
    Earlier this week the data team released the CTP5 build of the new Entity Framework Code-First library.  In my blog post a few days ago I talked about a few of the improvements introduced with the new CTP5 build.  Automatic support for enforcing DataAnnotation validation attributes on models was one of the improvements I discussed.  It provides a pretty easy way to enable property-level validation logic within your model layer. You can apply validation attributes like [Required], [Range], and [RegularExpression] – all of which are built-into .NET 4 – to your model classes in order to enforce that the model properties are valid before they are persisted to a database.  You can also create your own custom validation attributes (like this cool [CreditCard] validator) and have them be automatically enforced by EF Code First as well.  This provides a really easy way to validate property values on your models.  I showed some code samples of this in action in my previous post. Class-Level Model Validation using IValidatableObject DataAnnotation attributes provides an easy way to validate individual property values on your model classes.  Several people have asked - “Does EF Code First also support a way to implement class-level validation methods on model objects, for validation rules than need to span multiple property values?”  It does – and one easy way you can enable this is by implementing the IValidatableObject interface on your model classes. IValidatableObject.Validate() Method Below is an example of using the IValidatableObject interface (which is built-into .NET 4 within the System.ComponentModel.DataAnnotations namespace) to implement two custom validation rules on a Product model class.  The two rules ensure that: New units can’t be ordered if the Product is in a discontinued state New units can’t be ordered if there are already more than 100 units in stock We will enforce these business rules by implementing the IValidatableObject interface on our Product class, and by implementing its Validate() method like so: The IValidatableObject.Validate() method can apply validation rules that span across multiple properties, and can yield back multiple validation errors. Each ValidationResult returned can supply both an error message as well as an optional list of property names that caused the violation (which is useful when displaying error messages within UI). Automatic Validation Enforcement EF Code-First (starting with CTP5) now automatically invokes the Validate() method when a model object that implements the IValidatableObject interface is saved.  You do not need to write any code to cause this to happen – this support is now enabled by default. This new support means that the below code – which violates one of our above business rules – will automatically throw an exception (and abort the transaction) when we call the “SaveChanges()” method on our Northwind DbContext: In addition to reactively handling validation exceptions, EF Code First also allows you to proactively check for validation errors.  Starting with CTP5, you can call the “GetValidationErrors()” method on the DbContext base class to retrieve a list of validation errors within the model objects you are working with.  GetValidationErrors() will return a list of all validation errors – regardless of whether they are generated via DataAnnotation attributes or by an IValidatableObject.Validate() implementation.  Below is an example of proactively using the GetValidationErrors() method to check (and handle) errors before trying to call SaveChanges(): ASP.NET MVC 3 and IValidatableObject ASP.NET MVC 2 included support for automatically honoring and enforcing DataAnnotation attributes on model objects that are used with ASP.NET MVC’s model binding infrastructure.  ASP.NET MVC 3 goes further and also honors the IValidatableObject interface.  This combined support for model validation makes it easy to display appropriate error messages within forms when validation errors occur.  To see this in action, let’s consider a simple Create form that allows users to create a new Product: We can implement the above Create functionality using a ProductsController class that has two “Create” action methods like below: The first Create() method implements a version of the /Products/Create URL that handles HTTP-GET requests - and displays the HTML form to fill-out.  The second Create() method implements a version of the /Products/Create URL that handles HTTP-POST requests - and which takes the posted form data, ensures that is is valid, and if it is valid saves it in the database.  If there are validation issues it redisplays the form with the posted values.  The razor view template of our “Create” view (which renders the form) looks like below: One of the nice things about the above Controller + View implementation is that we did not write any validation logic within it.  The validation logic and business rules are instead implemented entirely within our model layer, and the ProductsController simply checks whether it is valid (by calling the ModelState.IsValid helper method) to determine whether to try and save the changes or redisplay the form with errors. The Html.ValidationMessageFor() helper method calls within our view simply display the error messages our Product model’s DataAnnotations and IValidatableObject.Validate() method returned.  We can see the above scenario in action by filling out invalid data within the form and attempting to submit it: Notice above how when we hit the “Create” button we got an error message.  This was because we ticked the “Discontinued” checkbox while also entering a value for the UnitsOnOrder (and so violated one of our business rules).  You might ask – how did ASP.NET MVC know to highlight and display the error message next to the UnitsOnOrder textbox?  It did this because ASP.NET MVC 3 now honors the IValidatableObject interface when performing model binding, and will retrieve the error messages from validation failures with it. The business rule within our Product model class indicated that the “UnitsOnOrder” property should be highlighted when the business rule we hit was violated: Our Html.ValidationMessageFor() helper method knew to display the business rule error message (next to the UnitsOnOrder edit box) because of the above property name hint we supplied: Keeping things DRY ASP.NET MVC and EF Code First enables you to keep your validation and business rules in one place (within your model layer), and avoid having it creep into your Controllers and Views.  Keeping the validation logic in the model layer helps ensure that you do not duplicate validation/business logic as you add more Controllers and Views to your application.  It allows you to quickly change your business rules/validation logic in one single place (within your model layer) – and have all controllers/views across your application immediately reflect it.  This help keep your application code clean and easily maintainable, and makes it much easier to evolve and update your application in the future. Summary EF Code First (starting with CTP5) now has built-in support for both DataAnnotations and the IValidatableObject interface.  This allows you to easily add validation and business rules to your models, and have EF automatically ensure that they are enforced anytime someone tries to persist changes of them to a database.  ASP.NET MVC 3 also now supports both DataAnnotations and IValidatableObject as well, which makes it even easier to use them with your EF Code First model layer – and then have the controllers/views within your web layer automatically honor and support them as well.  This makes it easy to build clean and highly maintainable applications. You don’t have to use DataAnnotations or IValidatableObject to perform your validation/business logic.  You can always roll your own custom validation architecture and/or use other more advanced validation frameworks/patterns if you want.  But for a lot of applications this built-in support will probably be sufficient – and provide a highly productive way to build solutions. Hope this helps, Scott P.S. In addition to blogging, I am also now using Twitter for quick updates and to share links. Follow me at: twitter.com/scottgu

    Read the article

  • I want to make video games, but I hate coding

    - by hoper
    I know this sounds eally crazy. However, I just want to ask. Now, I am studying C++ code in my school (My major is computer programming). Honestly, my grade is not so good, and assignments are really hard. Sometimes, I feel sad that I will spend 8~10 hours per day for coding (which is stressful) at the future for my job. But, I still want to make video games. Maybe this is the only one reason why I am taking all of stressful courses. I always write down plots, stories, characters, fictional gaming worlds. Once, I thought I should study artistic technology such as game design program not computer technology such as C++, C#, etc. However, most of popular game designers(or directors) such as Kojima, Miyamoto Shigeru, etc used to be good programmers. And, companies actaully assign programmers to directors because they understand how to make a game. I try to find other colleges or universities where teach game design program. However, one article that lists rank 10 game design schools in North America seems untrustful because the survey company only scores it from intervews of students. (Once, I tried to attend Art Institute of Vancouver which is rank 7 according to that article. However, one programmer who used to be an instructor in there told me the truth. That is the employement rate of graduated students is low) Do you guys have any advice for me?

    Read the article

  • Monster's AI in an Action-RPG

    - by Andrea Tucci
    I'm developing an action rpg with some University colleagues. We've gotton to the monsters' AI design and we would like to implement a sort of "utility-based AI" so we have a "thinker" that assigns a numeric value on all the monster's decisions and we choose the highest (or the most appropriate, depending on monster's iq) and assign it in the monster's collection of decisions (like a goal-driven design pattern) . One solution we found is to write a mathematical formula for each decision, with all the important parameters for evaluation (so for a spell-decision we might have mp,distance from player, player's hp etc). This formula also has coefficients representing some of monster's behaviour (in this way we can alterate formulas by changing coefficients). I've also read how "fuzzy logic" works; I was fascinated by it and by the many ways of expansion it has. I was wondering how we could use this technique to give our AI more semplicity, as in create evaluations with fuzzy rules such as IF player_far AND mp_high AND hp_high THEN very_Desiderable (for a spell having an high casting-time and consume high mp) and then 'defuzz' it. In this way it's also simple to create a monster behaviour by creating ad-hoc rules for every monster's IQ category. But is it correct using fuzzy logic in a game with many parameters like an rpg? Is there a way of merging these two techniques? Are there better AI design techniques for evaluating monster's chooses?

    Read the article

  • Class; Struct; Enum confusion, what is better?

    - by Angel Brighteyes
    I have 46 rows of information, 2 columns each row ("Code Number", "Description"). These codes are returned to the client dependent upon the success or failure of their initial submission request. I do not want to use a database file (csv, sqlite, etc) for the storage/access. The closest type that I can think of for how I want these codes to be shown to the client is the exception class. Correct me if I'm wrong, but from what I can tell enums do not allow strings, though this sort of structure seemed the better option initially based on how it works (e.g. 100 = "missing name in request"). Thinking about it, creating a class might be the best modus operandi. However I would appreciate more experienced advice or direction and input from those who might have been in a similar situation. Currently this is what I have: class ReturnCode { private int _code; private string _message; public ReturnCode(int code) { Code = code; } public int Code { get { return _code; } set { _code = value; _message = RetrieveMessage(value); } } public string Message { get { return _message; } } private string RetrieveMessage(int value) { string message; switch (value) { case 100: message = "Request completed successfuly"; break; case 201: message = "Missing name in request."; break; default: message = "Unexpected failure, please email for support"; break; } return message; } }

    Read the article

  • How can I make video games if I don't like programming?

    - by hoper
    I am studying C++ code in my school (my major is computer programming). Honestly, my grades are not so good, and assignments are really hard. Sometimes I feel sad that I will spend 8-10 hours per day coding (which is stressful) in the future for my job. But I still want to make video games. Maybe this is the only reason why I am taking all of these stressful courses. I always write down plots, stories, characters, fictional gaming worlds... Once, I thought I should study artistic technology such as game design and not computer technology such as C++, C#, etc. However, most of popular game designers (or directors) such as Kojima, Miyamoto, etc. used to be good programmers. Companies actaully assign programmers to directors because they understand how to make a game. I've try to find other colleges or universities where they teach game design programs. However, one article that lists rank 10 game design schools in North America seems untrustful because the survey company only scores it from intervews of students. Once, I tried to attend Art Institute of Vancouver which is rank 7 according to that article. However, one programmer who used to be an instructor in there told me the truth: the employement rate of graduated students is low. How can I have a future making games if I don't like programming?

    Read the article

  • DAO/Webservice Consumption in Web Application

    - by Gavin
    I am currently working on converting a "legacy" web-based (Coldfusion) application from single data source (MSSQL database) to multi-tier OOP. In my current system there is a read/write database with all the usual stuff and additional "read-only" databases that are exported daily/hourly from an Enterprise Resource Planning (ERP) system by SSIS jobs with business product/item and manufacturing/SCM planning data. The reason I have the opportunity and need to convert to multi-tier OOP is a newer more modern ERP system is being implemented business wide that will be a complete replacement. This newer ERP system offers several interfaces for third party applications like mine, from direct SQL access to either a dotNet web-service or a SOAP-like web-service. I have found several suitable frameworks I would be happy to use (Coldspring, FW/1) but I am not sure what design patterns apply to my data access object/component and how to manage the connection/session tokens, with this background, my question has the following three parts: Firstly I have concerns with moving from the relative safety of a SSIS job that protects me from downtime and speed of the ERP system to directly connecting with one of the web services which I note seem significantly slower than I expected (simple/small requests often take up to a whole second). Are there any design patterns I can investigate/use to cache/protect my data tier? It is my understanding data access objects (the component that connects directly with the web services and convert them into the data types I can then work with in my Domain Objects) should be singletons (and will act as an Adapter/Facade), am I correct? As part of the data access object I have to setup a connection by username/password (I could set up multiple users and/or connect multiple times with this) which responds with a session token that needs to be provided on every subsequent request. Do I do this once and share it across the whole application, do I setup a new "connection" for every user of my application and keep the token in their session scope (might quickly hit licensing limits), do I set the "connection" up per page request, or is there a design pattern I am missing that can manage multiple "connections" where a requests/access uses the first free "connection"? It is worth noting if the ERP system dies I will need to reset/invalidate all the connections and start from scratch, and depending on which web-service I use might need manually close the "connection/session"

    Read the article

  • Java - Class type from inside static initialization block

    - by DutrowLLC
    Is it possible to get the class type from inside the static initialization block? This is a simplified version of what I currently have:: class Person extends SuperClass { String firstName; static{ // This function is on the "SuperClass": // I'd for this function to be able to get "Person.class" without me // having to explicitly type it in but "this.class" does not work in // a static context. doSomeReflectionStuff(Person.class); // IN "SuperClass" } } This is closer to what I am doing, which is to initialize a data structure that holds information about the object and its annotations, etc... Perhaps I am using the wrong pattern? public abstract SuperClass{ static void doSomeReflectionStuff( Class<?> classType, List<FieldData> fieldDataList ){ Field[] fields = classType.getDeclaredFields(); for( Field field : fields ){ // Initialize fieldDataList } } } public abstract class Person { @SomeAnnotation String firstName; // Holds information on each of the fields, I used a Map<String, FieldData> // in my actual implementation to map strings to the field information, but that // seemed a little wordy for this example static List<FieldData> fieldDataList = new List<FieldData>(); static{ // Again, it seems dangerous to have to type in the "Person.class" // (or Address.class, PhoneNumber.class, etc...) every time. // Ideally, I'd liken to eliminate all this code from the Sub class // since now I have to copy and paste it into each Sub class. doSomeReflectionStuff(Person.class, fieldDataList); } }

    Read the article

  • Development/runtime Licensing mechanism for a C# class library?

    - by Darryl
    I'm developing a .Net class library (a data provider) and I'm starting to think about how I would handle licensing the library to prospective purchasers. By licensing, I mean the mechanics of trying to prevent my library from being used by those who haven't purchased it, not the software license (i.e., Apache, Gnu, etc). I've never dealt with licensing, and in the past, I've always developed apps, not libraries. I don't want to make things difficult for my customers; know it is not possible to make it ironclad. Just some mechanism that gives me decent protection without making the customer jump through hoops or gnash their teeth. I think the mechanism would check for a valid license when the class is being used in development mode, and not in runtime mode (when the customer's software is released to their customers). I think libraries are typically sold per developer, but I'm not sure how that could be accomplished without making the mechanism odious for my customers; maybe that gets left to the honor system. I Googled this and found many approaches. Ideally, I'd like to do something that is generally accepted and common, the "right" way class libraries are licensed, if that exists, rather than making my customers deal with yet another license mechanism. A firm push in the right direction will be greatly appreciated!

    Read the article

  • Today I talk about you

    - by BuckWoody
    Some time back I posted a blog entry (mirrored here and here) asking you how you design databases. Out of those responses, my own experience, studies I read, and interviews I conducted, I collected a wealth of data. Thanks for your responses. So what am I going to do with that information? Well, all along I had planned for that to be used today. I am giving a presentation at an event called “TechReady” called “How Your Customers Design Databases”. This is a Microsoft-internal event, where technical professionals like myself, salespeople, and the product team get together to talk about what has been working, what doesn’t, what is coming and hopefully (fingers crossed here) what the product team can do to help us help the SQL Server community. I’ve mentioned before that I teach database design as part of a course I run at the University of Washington. I’m also planning to give a mini-lecture from that series at TechEd 2010, so if you’re coming stop by. I’d love to meet you. So today I talk about you – thanks for the input. I hope you and I can make a difference in the product. Might take a while, but it’s nice to know your voice is being heard. Share this post: email it! | bookmark it! | digg it! | reddit! | kick it! | live it!

    Read the article

  • Can I become a Game Designer? [on hold]

    - by user32721
    This is my first time posting something on a forum in 4 years. I am posting this because I want to adjust my expectations and goals regarding game design. I am in college in Morocco (Al Akhawayn university). just started my junior year. I am a communications major (school of humanities) and a gender studies minor. I want to become a video game designer. It is the only career that I am interested in. I have been playing ever since I was 5 and haven't stopped yet. Currently I don't have any noteworthy skills to become a designer. I don't know how to program (don't really have the patience for it) and I can't draw to save my life. I haven't tried visual software like MAYA or MAX so I can't comment on graphic design. So I basically want to know whether my current education is capable of helping me reach my goal. If not then should I take a master's in game design (in the U.S?) or switch my minor to computer science? I am sorry that this post is long! I look forward to hearing your advice!

    Read the article

  • Library Organization in .NET

    - by Greg Ros
    I've written a .NET bitwise operations library as part of my projects (stuff ranging from get MSB set to some more complicated bitwise transformations) and I mean to release it as free software. I'm a bit confused about a design aspect of the library, though. Many of the methods/transformations in the library come with different endianness. A simple example is a getBitAt method that regards index 0 as the least significant bit, or the most significant bit, depending on the version used. In practice, I've found that using separate functions for different endianness results in much more comprehensible and reusable code than assuming all operations are little-endian or something. I'm really stumped regarding how best to package the library. Should I have methods that have LE and BE versions take an enum parameter in their signature, e.g. Endianness.Little, Endianness.Big? Should I have different static classes with identically named methods? such as MSB.GetBit and LSB.GetBit On a much wider note, is there a standard I could use in cases like this? Some guide? Is my design issue trivial? I have a perfectionist bent, and I sometimes get stuck on tricky design issues like this... Note: I've sort of realized I'm using endianness somewhat colloquially to refer to the order/place value of digital component parts (be they bits, bytes, or words) in a larger whole, in any setting. I'm not talking about machine-level endianness or serial transmission endianness. Just about place-value semantics in general. So there isn't a context of targeting different machines/transmission techniques or something.

    Read the article

  • Dynamically class creating by using Java Reflection, java.lang.ClassNotFoundException

    - by rubby
    Hi all; i want to use reflection in java, i want to do that third class will read the name of the class as String from console. Upon reading the name of the class, it will automatically and dynamically (!) generate that class and call its writeout method. If that class is not read from input, it will not be initialized. I wrote that codes but i am always taking to "java.lang.Class.Not.Found.Exception", and i don't know how i can fix it. Can anyone help me? class class3 { public Object dynamicsinif(String className, String fieldName, String value) throws Exception { Class cls = Class.forName(className,true,null); Object obj = cls.newInstance(); Field fld = cls.getField(fieldName); fld.set(obj, value); return obj; } public void writeout3() { System.out.println("class3"); } } public class Main { public static void main(String[] args) throws Exception { System.out.println("enter the class name : "); BufferedReader reader= new BufferedReader(new InputStreamReader(System.in)); String line=reader.readLine(); String x="Text1"; try{ class3 trycls=new class3(); Object gelen=trycls.dynamicsinif(line, x, "rubby"); Class yeni=(Class)gelen; System.out.println(yeni); }catch(ClassNotFoundException ex){ System.out.print(ex.toString()); } } }

    Read the article

  • Best practice for combining a Java Applet/ Android interface?

    - by Pearsonartphoto
    I'm working on an online game, which I am seriously considering writing a Java Applet for it. The game is not overly complex on the features. I'm considering at some point having at least 3 versions of the game, which include a Java stand alone, applet, and Android game. I know from Design Patterns that the best way to use differing things like buttons and the like is to use a Bridge interface, where I have a common template for the common buttons. However, I'm having a bit of difficulty understanding what to do about the following. I know that Android programs use an Activity structure, which I am well familiar with, and that Applets extend the Applet interface, which I am not as familiar with. I also know that a stand alone java program uses basically a main() function, which doesn't have much structure. I'm convinced that there should be a way to design a common design pattern between the two, but somehow I'm missing what that is exactly. What can I do to make the different frameworks work with as much common code as possible?

    Read the article

  • Could this be considered a well-written PHP5 class?

    - by Ben Dauphinee
    I have been learning OOP principals on my own for a while, and taken a few cracks at writing classes. What I really need to know now is if I am actually using what I have learned correctly, or if I could improve as far as OOP is concerned. I have chopped a massive portion of code out of a class that I have been working on for a while now, and pasted it here. To all you skilled and knowledgeable programmers here I ask: Am I doing it wrong? class acl extends genericAPI{ // -- Copied from genericAPI class protected final function sanityCheck($what, $check, $vars){ switch($check){ case 'set': if(isset($vars[$what])){return(1);}else{return(0);} break; } } // --------------------------------- protected $db = null; protected $dataQuery = null; public function __construct(Zend_Db_Adapter_Abstract $db, $config = array()){ $this->db = $db; if(!empty($config)){$this->config = $config;} } protected function _buildQuery($selectType = null, $vars = array()){ // Removed switches for simplicity sake $this->dataQuery = $this->db->select( )->from( $this->config['table_users'], array('tf' => '(CASE WHEN count(*) > 0 THEN 1 ELSE 0 END)') )->where( $this->config['uidcol'] . ' = ?', $vars['uid'] ); } protected function _sanityRun_acl($sanitycheck, &$vars){ switch($sanitycheck){ case 'uid_set': if(!$this->sanityCheck('uid', 'set', $vars)){ throw new Exception(ERR_ACL_NOUID); } $vars['uid'] = settype($vars['uid'], 'integer'); break; } } private function user($action = null, $vars = array()){ switch($action){ case 'exists': $this->_sanityRun_acl('uid_set', $vars); $this->_buildQuery('user_exists_idcheck', $vars); return($this->db->fetchOne($this->dataQuery->__toString())); break; } } public function user_exists($uid){ return($this->user('exists', array('uid' => $uid))); } } $return = $acl_test->user_exists(1);

    Read the article

  • Is there a better strategy than relying on the compiler to catch errors?

    - by koan
    I've been programming in C and C++ for some time, although I would say I'm far from being an expert. For some time, I've been using various strategies to develop my code such as unit tests, test driven design, code reviews and so on. When I wrote my first programs in BASIC, I typed in long blocks before finding they would not run and they were a nightmare to debug. So I learned to write a small bit and then test it. These days, I often find myself repeatedly writing a small bit of code then using the compiler to find all the mistakes. That's OK if it picks up a typo but when you start adjusting the parameters types etc just to make it compile you can screw up the design. It also seems that the compiler is creeping into the design process when it should only be used for checking syntax. There's a danger here of over reliance on the compiler to make my programs better. Are there better strategies than this? I vaguely remember some time ago an article on a company developing a type of C compiler where an extra header file also specified the prototypes. The idea was that inconsistencies in the API definition would be easier to catch if you had to define it twice in different ways.

    Read the article

  • Could this be considered a well-written class (am I using OOP correctly)?

    - by Ben Dauphinee
    I have been learning OOP principals on my own for a while, and taken a few cracks at writing classes. What I really need to know now is if I am actually using what I have learned correctly, or if I could improve as far as OOP is concerned. I have chopped a massive portion of code out of a class that I have been working on for a while now, and pasted it here. To all you skilled and knowledgeable programmers here I ask: Am I doing it wrong? class acl extends genericAPI{ // -- Copied from genericAPI class protected final function sanityCheck($what, $check, $vars){ switch($check){ case 'set': if(isset($vars[$what])){return(1);}else{return(0);} break; } } // --------------------------------- protected $db = null; protected $dataQuery = null; public function __construct(Zend_Db_Adapter_Abstract $db, $config = array()){ $this->db = $db; if(!empty($config)){$this->config = $config;} } protected function _buildQuery($selectType = null, $vars = array()){ // Removed switches for simplicity sake $this->dataQuery = $this->db->select( )->from( $this->config['table_users'], array('tf' => '(CASE WHEN count(*) > 0 THEN 1 ELSE 0 END)') )->where( $this->config['uidcol'] . ' = ?', $vars['uid'] ); } protected function _sanityRun_acl($sanitycheck, &$vars){ switch($sanitycheck){ case 'uid_set': if(!$this->sanityCheck('uid', 'set', $vars)){ throw new Exception(ERR_ACL_NOUID); } $vars['uid'] = settype($vars['uid'], 'integer'); break; } } private function user($action = null, $vars = array()){ switch($action){ case 'exists': $this->_sanityRun_acl('uid_set', $vars); $this->_buildQuery('user_exists_idcheck', $vars); return($this->db->fetchOne($this->dataQuery->__toString())); break; } } public function user_exists($uid){ return($this->user('exists', array('uid' => $uid))); } } $return = $acl_test->user_exists(1);

    Read the article

  • Reliance on the compiler

    - by koan
    I've been programming in C and C++ for some time, although I would say I'm far from being expert. For some time I've been using various strategies to develop my code such as unit tests, test driven design, code reviews and so on. When I wrote my first programs in BASIC I typed in long listings before finding they would not run and they were a nightmare to debug. So I learnt to write a small bit and then test it. These days I often find myself repeatedly writing a small bit of code then using the compiler to find all the mistakes. That's OK if it picks up a typo but when you start adjusting the parameters types etc just to make it compile you can screw up the design. It also seems that the compiler is creeping into the design process when it should only be used for checking syntax. There's a danger here of over reliance on the compiler to make my programs better. Are there better strategies than this ? I vaguely remember some time ago an article on a company developing a type of C compiler where an extra header file also specified the prototypes. The idea was that inconsistencies in the API definition would be easier to catch if you had to define it twice in different ways.

    Read the article

  • Are there any other ways to iterate through the attributes of a custom class, excluding the in-built ones?

    - by Ricardo Altamirano
    Is there another way to iterate through only the attributes of a custom class that are not in-built (e.g. __dict__, __module__, etc.)? For example, in this code: class Terrain: WATER = -1 GRASS = 0 HILL = 1 MOUNTAIN = 2 I can iterate through all of these attributes like this: for key, value in Terrain.__dict__.items(): print("{: <11}".format(key), " --> ", value) which outputs: MOUNTAIN --> 2 __module__ --> __main__ WATER --> -1 HILL --> 1 __dict__ --> <attribute '__dict__' of 'Terrain' objects> GRASS --> 0 __weakref__ --> <attribute '__weakref__' of 'Terrain' objects> __doc__ --> None If I just want the integer arguments (a rudimentary version of an enumerated type), I can use this: for key, value in Terrain.__dict__.items(): if type(value) is int: # type(value) == int print("{: <11}".format(key), " --> ", value) this gives the expected result: MOUNTAIN --> 2 WATER --> -1 HILL --> 1 GRASS --> 0 Is it possible to iterate through only the non-in-built attributes of a custom class independent of type, e.g. if the attributes are not all integral. Presumably I could expand the conditional to include more types, but I want to know if there are other ways I'm missing.

    Read the article

  • Invariant code contracts – using class-wide contracts

    - by DigiMortal
    It is possible to define invariant code contracts for classes. Invariant contracts should always hold true whatever member of class is called. In this posting I will show you how to use invariant code contracts so you understand how they work and how they should be tested. This is my randomizer class I am using to demonstrate code contracts. I added one method for invariant code contracts. Currently there is one contract that makes sure that random number generator is not null. public class Randomizer {     private IRandomGenerator _generator;       private Randomizer() { }       public Randomizer(IRandomGenerator generator)     {         _generator = generator;     }       public int GetRandomFromRangeContracted(int min, int max)     {         Contract.Requires<ArgumentOutOfRangeException>(             min < max,             "Min must be less than max"         );           Contract.Ensures(             Contract.Result<int>() >= min &&             Contract.Result<int>() <= max,             "Return value is out of range"         );           return _generator.Next(min, max);     }       [ContractInvariantMethod]     private void ObjectInvariant()     {         Contract.Invariant(_generator != null);     } } Invariant code contracts are define in methods that have ContractInvariantMethod attribute. Some notes: It is good idea to define invariant methods as private. Don’t call invariant methods from your code because code contracts system does not allow it. Invariant methods are defined only as place where you can keep invariant contracts. Invariant methods are called only when call to some class member is made! The last note means that having invariant method and creating Randomizer object with null as argument does not automatically generate exception. We have to call at least one method from Randomizer class. Here is the test for generator. You can find more about contracted code testing from my posting Code Contracts: Unit testing contracted code. There is also explained why the exception handling in test is like it is. [TestMethod] [ExpectedException(typeof(Exception))] public void Should_fail_if_generator_is_null() {     try     {         var randomizer = new Randomizer(null);         randomizer.GetRandomFromRangeContracted(1, 4);     }     catch (Exception ex)     {         throw new Exception(ex.Message, ex);     } } Try out this code – with unit tests or with test application to see that invariant contracts are checked as soon as you call some member of Randomizer class.

    Read the article

  • Third-Grade Math Class

    - by andyleonard
    An Odd Thing Happened... ... when I was in third grade math class: I was handed a sheet of arithmetic problems to solve. There were maybe 20 problems on the page and we were given the remainder of the class to complete them. I don't remember how much time remained in the class, I remember I finished working on the problems before my classmates. That wasn't the odd part. The odd part was that I started working on the first problem, concentrating pretty hard. I worked the sum and moved to the next...(read more)

    Read the article

  • Ways to ensure unique instances of a class?

    - by Peanut
    I'm looking for different ways to ensure that each instance of a given class is a uniquely identifiable instance. For example, I have a Name class with the field name. Once I have a Name object with name initialised to John Smith I don't want to be able to instantiate a different Name object also with the name as John Smith, or if instantiation does take place I want a reference to the orginal object to be passed back rather than a new object. I'm aware that one way of doing this is to have a static factory that holds a Map of all the current Name objects and the factory checks that an object with John Smith as the name doesn't already exist before passing back a reference to a Name object. Another way I could think of off the top of my head is having a static Map in the Name class and when the constructor is called throwing an exception if the value passed in for name is already in use in another object, however I'm aware throwing exceptions in a constructor is generally a bad idea. Are there other ways of achieving this?

    Read the article

< Previous Page | 110 111 112 113 114 115 116 117 118 119 120 121  | Next Page >