I have been reading up on Abstract classes and am thinking about utilizing them in an upcoming project.
I would like to know the pros and cons of using abstract classes from someone who has actually used them.
Additionally, I would like to know if the abstract class needs to be in it's own project or if they should be defined in an existing project and used within the application.
On another programming related website, I saw this line in someone's signature. This is NOT the first time I've seen such sentiments, although this is the harshest:"People who work in VB or any variant thereof are not programmers, they are circus chimps throwing feces into an IDE..."VBA is my bread and butter and I can automate quite a bit of stuff with it. Yes, I know it lacks polish and some functionality, but why so much negativity toward it? On the flip side, what do other languages have that VB doesn't?
i am a seasoned vb6 and vb.net developer and where i currently work, they use VB6. Now, we develop a range of office plugins for a client, and they currently use vb6, they also do some other projects with vb6. I want them to change to vb.net They have asked me for a list of Pros for switching, and also some Cons.
The pros i have are: .Net is future proofed, VB6 will not be supported by Microsoft for much longer One standard platform to run on (.Net) removing problems of windows versions and missing dlls full OOP support and a generic Api for office application development. Integrate seamlessly with Java using bridging components (they are primarily a java house)Quicker performance On event application loading (in office) to help application performance. Application controls are loaded but the code to execute is only loaded when required, reducing application load on start up.Backwards compatible to Office and Outlook 2003
What are the pros and cons of standardizing on using Option Compare Text vs Option Compare Binary for VB.NET development?
- EDIT -Just some background since it seems like it would help - my development team has found it much easier to standardize on Option Strict On, Option Infer On, and Option Explicit due to their obvious advantages over the alternatives. What we haven't found as easy to standardize on is Option Compare Text/Binary as there seem to be advantages and disadvantages to both and different developers have differing opinions. Some of the arguments for each side have been as follows:
Some of the advantages/arguments for Option Compare Text:
It reduces verbosity in the code by removing the need for StringComparers and .ToLower() calls and StringComparison.OrdinalIgnoreCase all over the place Data needs are rarely concerned with casing, as evidenced by most databases being case-insensitive. Rarely would you ever really want to distinguish between THIS and This and this when doing a data comparison.
Certain specific use cases are simpler when you don't have to worry about casing. For example, handling ASP.NET control events where commands are sent to the codebehind as strings and casing-issues are difficult to track down as the compiler cannot help you. Think Select Case statements for <asp:repeater> events as an example.Many of the concerns raised about text comparison concern internationalization, which is often not that relevant to a lot of applications.VB specifically is case insensitive as a language, though Visual Studio helps you by at least enforcing consistency in your casing. SQL is case insensitive as well. Strings are the only place where you have to remember to worry about it, which highlights the awkwardness in ways you wouldn't normally notice it if you were worried about it everywhere.
Some of the advantages/arguments for Option Compare Binary:C# works this way, as do most other languages. It's somewhat unexpected to have alternate behavior and the unexpected is not good in programming.There is a slight performance penalty with Option Compare Text as evidenced by the IL generated on compile. Option Compare Binary doesn't have that penalty.Option Compare Text only makes certain parts of string handling case insensitive. But, it doesn't make it so that things like dictionary indexing are case insensitive by default. So, it's not like Option Compare Text actually makes it so that you don't have to worry about casing at all. If it only works half way, why bother?Programming is hard. It's best not to attempt to smooth over that fact. Worrying about string casing is part of the deal. Humans recognize THIS is different from This and tHiS. Of course your code should too - after all, they aren't really the exact same string.
Here is the use case: I am making an app that will email HTML Newsletters. The app will also email a plain text version of the newsletter as an alternate view. The way I see it there are two ways of going about this when using the system.net.mail namespace. What are the pro/cons of these two ways, or is there a another way that I am missing?
My immediate issue is that currently I have a 3 tier solution (Presentation.aspx.vb calls BusinessLayer.vb which calls DataAccessLayer.vb). However, I want to make BusinessLayer and DataAccessLayer.vb abstract classes because several Webforms will use have the same functionality.
So I currently am doing this (no abstract classes):
'Presentation Layer (pseudocode) public sub checkUser(byval userName as string, byval dept as string) dim isGood as boolean = BL.checkUserAccess(userName, dept)
I have a general question on app.config, or the best way to NOT hard code a SmtpServer.Host = XXXXXXXX setting. I wrote this very simple SMTP texting application and wanted to have the settings not hard code but a form that read or writes to app.config or .ini or registry. my question is the pros and cons? and if anyone hae suggested or a link to sample project that is doing what I'm after. I have a single .exe and am new to vb.net and either want the exe to check for app.config, ini or registry if does not exist to create and then save added config, if the exe runs again it uses the newly created settings.
I have two classes, one nested in the other. [code]Neither "Name" or "ID" are unique between operations and records.I wish to construct a dictionary using LINQ = Dictionary(Of String, Of List(Of Integer), whereby the keys are uniqe examples of Names in my collection and the values are the collective set of distinct IDs that are associated with those names.
How can I structure my classes so that the user interfaces though a single class while the supporting classes are hidden from their view? I think its best understood in an example:
Public Class MyInterface Public Economic as EconomicClass Public Sub New() MyBase.New()
[code].....
So you might ask why am I even separating them? It's strictly for others who will be working with this interface. I need to funnel them though a logical structure:
This way everything is already handled for them in the background and they only need to run the method they need. I don't know if I can have it both ways in VB.NET.
I created a vb.net dll which I am using in an unmanaged c++ project.When I try to create an object of the class, I am getting an error:cannot instantiate abstract class.Why would my class be abstract? How can I modify it so that it won't be abstract?
I am doing a project on abstract the numbers that i get from the datagridview to append it on the other textbox. Ok I elaborate more. I have 2 form which is form1 and form2. For the form1, the view is 2 textbox and a 'To' button. when click on the 'To' button, it is direct to form2 which is the datagridview. After selecting the selected numbers, it will display the numbers on the form1 of the one of the textbox. but the problem is I want to abstract one by one of the numbers and append it on the other textbox of the form1.
I am doing a project on abstract the numbers that i get from the datagridview to append it on the other textbox. Ok I elaborate more. I have 2 form which is form1 and form2. For the form1, the view is 2 textbox and a 'To' button. when click on the 'To' button, it is direct to form2 which is the datagridview. After selecting the selected numbers, it will display the numbers on the form1 of the one of the textbox. but the problem is I want to abstract one by one of the numbers and append it on the other textbox of the form1.
I'm trying to use the builtin XML literals feature to create/read xml files using my own schemas, but I don't see a way to cast an abstract XElement from a base type to a more derived type.The schema/xml below shows in general what I'm working with, but using XML literals only allows me to use the base type in the IDE, so the xml below is treated as a collection of elements of the base type, instead one of the base type and one of the derived type.
I have one interface that contains four functions. I have about 20 classes that implement this interface. Throughout each class, I see a lot of duplicate code, for example, there are constants declared at the beginning that are in every class. The method implementations (logic) of the interface are mostly the same.It contains duplicate structures. Is this a case where I can eliminate a lot of duplicate classes by implementing an abstract class instead of an interface. What I am striving for is too be able to put common methods from the abstract class as non-abstract methods and then methods that need their own implementation would be marked over-ridable. Can I put consts and structures in abstract classes? If so, that would eliminate a lot of duplicate code across the classes. Is there anything else I should look out for in the classes as a sign that I probably should be use an abstract class instead of an interface.
I'd like to make sure each of the subclasses has a certain nested class whose actual fields are up to the developer.
Nesting an abstract class inside the base abs. class doesn't seem to do the trick because during actual coding, both the nested abs. class and the nested class in the subclass both are available (show up in intellisense).
Having the base class implement an interface that includes a class doesn't work since interfaces only refer to methods that can be implemented, not classes (meaning implementing the interface requires implements methods, but says nothing about classes in the interface.
understanding difference between an interface and an abstract class which has no function with implementation?which is better abstract cls or interface in term of speed, features..?
I am developing a web app but is not satisfied with is architecture that I am following. The architecture is plain old conventional 3 tier architecture. What i want is follow some design pattern or architecture that will be help me in decoupling my code.I have idea about MVC and MVP architectures for Web App but i need different from that. I want to use OOPS concepts using abstract classes and interfaces, polymorphism etc in my app but not MVC and MVP. I dont know why?
I've been playing around with implementing an abstract base class that using reflection accomplishes SQL to Object mapping.
I did some benchmarks and decided I wanted to implement a caching strategy for the property info of the objects (to prevent future lookups on them). My first instinct was to try and implement something like this.
Public MustInherit Class BaseModel Implements IFillable Private Shared PropertyCache As List(Of PropertyInfo)
Basically, I have a custom child form class which has events that will be passed to the parent. In the custom child form, I have a declaration of a "MustInherit" class that inherits the DevExpress User Control Class.
The reason for this, is I have many user controls that derive from this base class, and the child form can have an instance of any one of these controls, and doesnt care which. The only requirement is that the child form can handle the same events from each type of control the same way.
Some watered down code snippets(still pretty long unfortunately): '''Inherited Class Public Class ChildControlInheritedClass
I am new to visual basic 2005. I have done how to abstract telephone from the sql server database and display it. But the problem is i could not do by abstracting the telephone number from the notepad.
If i have a class called A and a class called B, if B inherits A that means A is the super class and B is the subclass. I have been asked to describe why class A is not an abstract class but as i see it class A is an abstract class A, as it has been created for Class B to use in the future, is it something to do with Class B not being able to access the fields in Class A as although they are private by default?
I am trying to implement a service object class for the POS for .NET library using VB9. Specifically, the BillDispenser class. I define my class and inherit from Microsoft.PointOfService.BillDispenser. As normal, it creates stubs for all the MustOverride (abstract) properties and methods that I need to override (I love that), EXCEPT for the events. Apparently thare two events defined as abstract (MustOverride) in the POSCommon base class, but VB doesn't generate stubs for them.[code]...
I have an abstract class in vb.net with two subclasses. In the abstract class I have a constuctor that looks like this:[code]I would like to create a second constructor that doesn't take any arguments and just initializes the args to default values.[code]When I attempt to create a new subclass using the second constructor the compiler complains that I'm missing two args to the constructor.Is there a reason I can't overload the constructor in the abstract class?