zoukankan      html  css  js  c++  java
  • 来到网络科技公司第一个月总结

          2011年10月31日,我来到某某网络科技有限责任公司,开始了一个新的工作。前一周,面试的时候,把之前自己做的两个网站项目,给项目经理看了,他说不错,明天就来公司上班吧。但我由于手上还有一个未完成的项目,所以推迟了一周来公司。

          来到公司的第一天,经理安排了我一个月的工作内容,前半个月熟悉devExpress控件的使用,因为公司开发的软件基本上都要用到这个控件。后半个月熟悉公司的软件开发流程和产品的项目申报。总之,这一个月都是学习的时间段。下面谈谈我学到了什么,做个总结。

        一、项目架构与关键代码

          之前做的项目,要么是一层架构,要么是三层架构模式,或用到工厂模式进行的网站开发。来到公司进入的是软件开发部,公司都是.net(C#)语言开发。软件的架构和网站的架构根本就是两种模式。经理拿来一个简单的项目实例给我们边看边练习。 这个简单的项目是用的两层架构模式

    一层是:实体层(包括实体类和相应的方法),这些是由Nhibernate自动生成的。

    一层是:界面层(有webForm,winForm,wpf),这些是前台展示的。

    以前还没听说过Nhibernate,只听说Hibernate,但没有具体的学习。没办法,现在只有找资料学习了。项目里面用的是代码生成,没有用到NHibernate的配置文件。下面是项目的截图:

        项目还用到log4net,这个用于记录日志的功能,以前还没用过,程序出错,都可以方便的记录在记事本里。程序启动时执行的关键代码

                log4net.Config.XmlConfigurator.Configure();//启动日志记录

                IConfigurationSource config = ActiveRecordSectionHandler.Instance;
                ActiveRecordStarter.Initialize(config, typeof(OrderItem), typeof(Product), typeof(Orders), typeof(Student), typeof(Class), typeof(Department), typeof(StudentRegister));  //Castle.ActiveRecord初始化

    //下面是权限控制

     if (Permissions.GetAllPermissions().Length == 0)
                {
                    Permissions.CreatePermission("roleadmin".ToLower(), string.Empty, "角色管理");
                    Permissions.CreatePermission("roleadmin.delete".ToLower(), "roleadmin", "删除");
                    Permissions.CreatePermission("roleadmin.new".ToLower(), "roleadmin", "添加");
                    Permissions.CreatePermission("roleadmin.permissionsave".ToLower(), "roleadmin", "权限保存");
                    Permissions.CreatePermission("useradmin.".ToLower(), string.Empty, "用户管理");
                    Permissions.CreatePermission("useradmin.delete".ToLower(), "useradmin", "删除");
                    Permissions.CreatePermission("useradmin.edit".ToLower(), "useradmin", "修改");
                    Permissions.CreatePermission("useradmin.export".ToLower(), "useradmin", "导出");
                    Permissions.CreatePermission("useradmin.new".ToLower(), "useradmin", "添加");
                    Permissions.CreatePermission("useradmin.rolesave".ToLower(), "useradmin", "角色保存");

                    }

    if (Membership.GetAllUsers().Count == 0)
                {
                    Membership.CreateUser("admin", "123456"); //vs2010自带的用户验证方法
                    Roles.AddUserToRole("admin", "administrators");
                    Permissions.AddPermissionsToRole(new string[]
                                                         {
                                                             "roleadmin", "roleadmin.delete", "roleadmin.new",
                                                             "roleadmin.permissionsave",
                                                             "useradmin","useradmin.delete","useradmin.new",
                                                             "useradmin.edit","useradmin.export","useradmin.rolesave"
                                                         }
                                                ,"administrators");
                }

      二、devExpress常用控件总结

      1.ASPxSplitter  这个主要用于页面框架的的布局,它的结构如下:

     <dx:ASPxSplitter ID="ASPxSplitter1" runat="server" Width="100%" Height="100%" >
     
       <Panes>

            <dx:SplitterPane >

                 <ContentCollection>
                                <dx:SplitterContentControl ID="SplitterContentControlButtom" runat="server">
                                </dx:SplitterContentControl>
                 </ContentCollection>

           </dx:SplitterPane>

    <%第一个框架结束,第二个框架开始%>

     <dx:SplitterPane >

                 <ContentCollection>
                                <dx:SplitterContentControl ID="SplitterContentControlButtom" runat="server">
                                </dx:SplitterContentControl>
                 </ContentCollection>

           </dx:SplitterPane>


       </Panes>

    </dx:ASPxSplitter>

     2.ASPxNavBar 用于导航的设置。它的结构如下

    <dx:ASPxNavBar runat="server" AllowSelectItem="True" Target="contentUrlPane" Width="100%"   ID="ASPxNavBar1">
          <Groups>
                 <dx:NavBarGroup Text="后台管理">
                      <Items>

                         <dx:NavBarItem> .. </dx:NavBarItem>

                      </Items>
                    </dx:NavBarGroup>
               </Groups>
      </dx:ASPxNavBar>

    3.ASPxGridView 用于数据展示,功能很多很强大。如下的结构:

    <dx:ASPxGridView >

        <columns>

                 <dx:GridViewDataTextColumn>

                 </dx:GridViewDataTextColumn>

                  ...................

                  ...................

         </columns>

    </dx:ASPxGridView>

    4.ASPxGridViewExporter 用于数据的导出

        调用这个方法 gridExportMaster.WriteXlsToResponse();即可以导出数据

    5.ObjectDataSource  数据源

        <asp:ObjectDataSource ID="ObjectDataSourceMaster" runat="server"
        DeleteMethod="Delete" InsertMethod="Create" 
        UpdateMethod="Update" SelectMethod="FindAll" DataObjectTypeName="YbRapidSolution.Entities.Product"
        TypeName="YbRapidSolution.Entities.Product"></asp:ObjectDataSource>

    调用这些方法即可以完成数据的所有功能。它是引用的是实体类里面的方法。

    6.ASPxRoundPanel 角色权限管理

    <dxrp:ASPxRoundPanel >

                   <PanelCollection>
                                <dxp:PanelContent>

                                       <dx:ASPxCallbackPanel >

                                             <panelcollection>

                                              </panelcollection>
                                        </dx:ASPxCallbackPanel>

                                </dxp:PanelContent>
                    </PanelCollection>
    </dxrp:ASPxRoundPanel>

     7.ASPxTreeList 树形图

    <dx:ASPxTreeList >
                      <Columns>
                        <dx:TreeListTextColumn>

                         </dx:TreeListTextColumn>

                       </Columns>

    </dx:ASPxTreeList>

    还学了winForm,wpf下的DevExpress控件的使用,其实都差不多。我们老师说只会拖控件的程序员,就是一个大傻瓜,看来我来公司也是一个大傻瓜,但是没办法,工作中要用这些控件,学完了控件,我现在就学习其他的了。还有一个大项目的构架,现在正在熟悉,以后学完了在更新到博客上。今天发工资了,本来试用期是2K的,结果只发了1.8K,这也许是软件开发的工资中最低的吧。我们的部门经理,考过软考的高级架构设计师,现在是副高职称,工资是我的两倍。杯具啊,准备明年再去考软件设计师。争取拿到4K才能在此行业混下去。
                                                     

     

      


    作者:追梦网络
    出处:http://www.cnblogs.com/dream844/
    本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    驯服 Tiger: 并发集合 超越 Map、Collection、List 和 Set
    模块化Java:声明式模块化
    模块化Java:静态模块化
    用 Apache Tika 理解信息内容
    Refactoring: Encapsulate Collection
    新型的几乎万能的数据结构CDO
    CDO数据结构基础(1) 转载
    模块化Java简介(转载infoq)
    模块化Java:动态模块化
    责任链模式(C++)
  • 原文地址:https://www.cnblogs.com/dream844/p/andely.html
Copyright © 2011-2022 走看看