刚学三层遇到了点麻烦

最近一周感觉不怎么在状态,想开始机房收费系统的重构,但是一直不知道该怎么开始(初学者是不是都有这个问题?)。究竟是先画图还是先敲代码,敲完之后在补图,还是直接先把图画好。问的人多了,也就忘了自己想法,感觉有点茫然了(求解)。

下面是我的总体架构图:


刚刚学习完设计模式和三层架构为了进一步理解,想将两者都运用到机房收费系统的重构版当中去。

使用三层主要是降低系统的耦合,提高各层之间的内聚,提高代码的灵活性使其今后更容易修改。在U层和B层之间使用外观模式,其实在机房收费系统中使用外观并不存在我们之前接触到新系统和老系统的交互时使用外观作为一个接口,让外观层去与旧的系统打交道;此处主要目的还是为了降低U层的复杂度,在外观中封装多个类使其可以完成U层中的一个功能。使用抽象工厂为了便于系统切换不同的数据库,而使用反射+配置文件添加App.config)则可以方便的更改数据库系统而不用修改代码

<configuration>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>

    <appSettings>
      <add key="DB" value="sqlserver"/>
      <add key="ConnectionString" value="server=.;DataBase=DB_rechargeSystem;User Id=sa;Password=123456"/>
    </appSettings>

</configuration>

(PS:连接Sql Server数据库配置文件

重构机房收费系统我们更多的还是锻炼怎么去使用设计模式和三层,因此尽可能的可以多使用几种模式而不用担心过度设计影响系统性能。我想在区分临时用户和固定用户的时候我们可以使用策略模式,如果是多用户登录的时候需不需要使用备忘录模式来保存自己的登录信息呢?

感觉现在自己对于重构大方向是有的就是具体怎样去实现某个功能,U层,Facade层,B层,IDAL层之间的依赖怎样去实现,DAL层又是怎样去实现IDAL层的还需要进一步理清。

大神们给我点建议吧!

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...